ContentTypeUtil: Add singleton scope

Before this change, migrating repositories like [1], which has a lot of
refs, to Gerrit caused a timeout and the push wasn't successful. Classes
injecting ContentTypeUtil, InvalidLineEndingValidator,
ContentTypeValidator and BlockedKeywordValidator  were trying to
intialize the ContentTypeValidator class a lot of time causing an
infinite loop. This loop is probably trying to load the cache
consentatly

This change adds the singleton scope to initialize the class one time
only preventing the infinite loop.

[1] https://github.com/angular/angular.git

Bug: Issue 14784
Change-Id: Ic5bb8eaebf72a7346ebe2514fb01e62118368c23
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeUtil.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeUtil.java
index bb6f9db..517d245 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeUtil.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeUtil.java
@@ -24,6 +24,7 @@
 import com.google.gerrit.server.config.ProjectConfigEntry;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
+import com.google.inject.Scopes;
 import com.google.inject.name.Named;
 import java.io.IOException;
 import java.io.InputStream;
@@ -41,7 +42,7 @@
 
       @Override
       protected void configure() {
-        bind(ContentTypeUtil.class);
+        bind(ContentTypeUtil.class).in(Scopes.SINGLETON);
         bind(ProjectConfigEntry.class)
             .annotatedWith(Exports.named(KEY_BINARY_TYPES))
             .toInstance(