Always track master on download-commands plugin

The download-commands plugin only uses APIs that were extracted
specifically for the download-commands plugin and very rarely
changes. It doesn't give much benefit to let older releases use
an older version since the only effect is that they get an
outdated plugin.

Also makes the ctor of DownloadConfig public for tests as this was
the only API breakage from master (f0c9b9e).

Update plugins/download-commands to latest master.
Changes since v3.5.5:
* b83ce67 Consistently use `git rev-parse` to find hooks-dir
* 90b37d2 Always use http to get commit-msg hook
* f0c9b9e Add test for CloneWithCommitMsgHook
* a16ebc6 Merge "Annotate methods that return a definitely null value with @Nullable"
* 107b225 Annotate methods that return a definitely null value with @Nullable
* a649bdb Prefer ImmutableList to the convenience methods in List
* 71331e1 Throw IllegalStateException instead of RuntimeException
* 7f73617 URL encode username in http and ssh schemes
* 1a30359 Adapt to enabling error level for the UnnecessaryParentheses bug pattern
* 6f58c1e document the new branch & reset commands

Bug: Issue 15944
Release-Notes: Update plugins/download-commands to latest master
Change-Id: Ie41500963d425ade312e5bb4c4a2f4ba7f4f144d
diff --git a/.gitmodules b/.gitmodules
index e5eef1e..6217b4d 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -20,7 +20,7 @@
 [submodule "plugins/download-commands"]
 	path = plugins/download-commands
 	url = ../plugins/download-commands
-	branch = .
+	branch = master
 
 [submodule "plugins/gitiles"]
 	path = plugins/gitiles
diff --git a/java/com/google/gerrit/server/config/DownloadConfig.java b/java/com/google/gerrit/server/config/DownloadConfig.java
index 00df1e6..734239c 100644
--- a/java/com/google/gerrit/server/config/DownloadConfig.java
+++ b/java/com/google/gerrit/server/config/DownloadConfig.java
@@ -14,6 +14,7 @@
 
 package com.google.gerrit.server.config;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.entities.CoreDownloadSchemes;
@@ -43,7 +44,8 @@
   private final ImmutableSet<ArchiveFormatInternal> archiveFormats;
 
   @Inject
-  DownloadConfig(@GerritServerConfig Config cfg) {
+  @VisibleForTesting
+  public DownloadConfig(@GerritServerConfig Config cfg) {
     String[] allSchemes = cfg.getStringList("download", null, "scheme");
     if (allSchemes.length == 0) {
       downloadSchemes =
diff --git a/plugins/download-commands b/plugins/download-commands
index d2f0cae..b83ce67 160000
--- a/plugins/download-commands
+++ b/plugins/download-commands
@@ -1 +1 @@
-Subproject commit d2f0cae51a269ca660f221172cf010e2d528b661
+Subproject commit b83ce6746fe404da5f4709d8f8270a99f04c800e