Lock ByNameMap to make it thread safe.
Realigned code.
Merge branch 'master' into Portable
Minor spacing issue.
Merge branch 'master' into Portable

Conflicts:
	GitCommands/Settings.cs
Merge branch 'master' into Portable
Keep backup of settings file. Do write under lock.
Lock just in case someone will call EnsureSettingsAreUpToDate outside the lock.
Merge remote-tracking branch 'upstream/master' into Portable
Submodule status image fixed
Merge remote-tracking branch 'upstream/master' into Portable