Add support for overriding replication configuration

It is a next step in the direction of modifying the replicationn
configuraiton from an external source. Where the external source could
be a git repository or third party configuration managemnet system.

This adds a `ReplicationConfigOverrides` interface and a default bindng
for `DynamicItem<ReplicationConfigOverrides`. The added interface is
just an extension of `ConfigResource` as Guice was complaining about
duplicated binding for `ConfigResource` when it was used in
`DynamicItem`. Additinally `RepilcationConfigOverrides` conveys better
its purpose.

For now, the default implementation provides no overrides. As the
location of overrides files is still to be decided.

Finally, the `MergedConfigResource` will take both, the base
configuraiton for the file system, and configured overrides and merge
both JGit `Config` objects togehter.

With this approach, an implementation of `ReplicationConfigOverrides`
can provide a single confiuration option or the whole configuration
file.

Later we may consider, discarding some of the overrides, like
`gerrit.autoReload`, as disabling that option will effecively prevent
users from updating configuation.

Change-Id: I2e401c05571180719df33a4a094fbb4ccfb39f23
13 files changed
tree: ff82c00b1e561c3116560981bf4b0e29b13f557e
  1. .settings/
  2. src/
  3. .gitignore
  4. .mailmap
  5. BUILD
  6. LICENSE