Switch branch of a submodule before update

This feature allows a project to switch the branch of submodule before
the update occurs so that they can test it with the new code of that
submodule's branch.  This is useful if need to build your main project
with 2+ different versions of the submodule, but don't want to setup
different Jenkins projects to do the different submodule builds.
Switch from Hashtable to HashMap

Per Mark Waite's suggestion, switching from Hashtable to HashMap so that
we don't incur the synchronization costs inherent in Hashtable, since we
don't need it.
Confirm [FIXED JENKINS-8122] tags from submodules do not "leak" into parent repo

Unit test clones a repository with submodules, updates those
submodules, and compares the list of tags in the submodules with the
list of tags in the root repository.
Enabled proxy support in Tests

Some tests need to access github.
At least for tests not running in a Jenkins instance
the proxy system properties have not been used.
Fixed test test_getAllLogEntries (behind proxy)

test_getAllLogEntries fails with:
Cloning into 'git-client-plugin'...
fatal: Unable to look up github.com (port 9418) (No such host is known. )

"git" protocol port not accessible behind firewall?
Local cleanup issues make test fail

Temporary folders sometimes cannot be deleted.
Tests should not fail due to this.
Fixing RemotingTest - delete temp failed during teardown

...on Windows (in Eclipse).
Merge pull request #128 from dbroady1/specificSubmoduleBranch

Switch branch of a submodule before update
Update to latest released JaCoCo 0.7.0

Previous release is a year old and does not support Java 8.
Upgrade to JGit 3.3.2

Includes a bug fix to only reset credentials after multiple attempts.

See https://git.eclipse.org/c/jgit/jgit.git/commit/?h=stable-3.3&id=a53a18e988714cd87934d1a7e29b3331b37542a8

No automated tests currently evaluate authenticated access, so it is
not clear if that bug fix is relevant or not.
Use interesting UTF-8 characters in the "clean" test

Attempting to confirm JENKINS-20410 and JENKINS-22434.
Add more interesting characters, correct encoding mistake made earlier
Specify file content encoding explicitly in GitAPITestCase
Add a composed Unicode character to clean test
Merge remote-tracking branch 'upstream/master' into submodule-update-needs-creds
Fix failure of test_submodule_tags_not_fetched_into_parent.