Merge branch 'stable-2.15' into stable-2.16
* stable-2.15:
Update mockito to 2.23.4
Always pass ALLOW_INSECURE to MoreFiles.deleteRecursively
ArchiveRepositoryRemoverTest: Refactor assertions on repo content
Format external_plugin_deps.bzl with buildifier
Upgrade bazlets to latest stable-2.14 to build with 2.14.17 API
Upgrade bazlets to latest stable-2.14 to build with 2.14.16 API
Align Eclipse compiler settings with core Gerrit's
WORKSPACE: Make commented out lines spaces indent consistent
Add IT test
FilesystemDeleteHandler: Use more readable name for trash folder
Configure whether to allow user to select preserve
Introduce an archiving mechanism for deleted repos
bazlets: Replace native.git_repository with skylark rule
Harmonize external dependency names to use hyphen
Upgrade mockito to 2.23.0
Update bazlets to latest stable-2.14 to build with 2.14.15 API
Update bazlets to latest stable-2.14 to build with 2.14.14 API
Update bazlets to latest stable-2.14 to build with 2.14.13 API
FilesystemDeleteHandler: Don't instantiate event if there are no listeners
FilesystemDeleteHandler: Rename deletedListener to deletedListeners
DatabaseDeleteHandler.java: Remove unused Provider<InternalChangeQuery>
Add RecursiveDeleteOption.ALLOW_INSECURE for recursive deletion
Simplify DeleteTrashFolder
DeleteTrashFolders: Extract predicate to its own class
Add unit test for DeleteTrashFolders
Update bazlets to latest stable-2.14 to use 2.14.12 API
Migrate `tools/bazel.rc` to `.bazelrc`
Tidy up FilesystemDeleteHandler
Add unit tests for FilesystemDeleteHandler
Extract deletion preconditions to its own class
Change-Id: Id48037c00116b10ca809835d03f915ae231a629d