Align ElasticIndexModule with LuceneIndexModule

Align them by introducing nested MultiVersionModule in Elastic one. This
will make it easier to refactor them to remove duplication.

Change-Id: I4c76828bc41a954f4a78eb6a8a8325f9e2817fa3
diff --git a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticIndexModule.java b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticIndexModule.java
index d7f7df6..9573fd5 100644
--- a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticIndexModule.java
+++ b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticIndexModule.java
@@ -64,8 +64,7 @@
 
     install(new IndexModule(threads));
     if (singleVersions == null) {
-      bind(AbstractVersionManager.class).to(ElasticVersionManager.class);
-      listener().to(ElasticVersionManager.class);
+      install(new MultiVersionModule());
     } else {
       install(new SingleVersionModule(singleVersions));
     }
@@ -76,4 +75,12 @@
   IndexConfig getIndexConfig(@GerritServerConfig Config cfg) {
     return IndexConfig.fromConfig(cfg);
   }
+
+  private static class MultiVersionModule extends LifecycleModule {
+    @Override
+    public void configure() {
+      bind(AbstractVersionManager.class).to(ElasticVersionManager.class);
+      listener().to(ElasticVersionManager.class);
+    }
+  }
 }