SettingsContainer
Organize files.
Merge remote-tracking branch 'origin/master' into feature/DistSettings

Conflicts:
	GitCommands/Settings/AppSettings.cs
	GitExtensionsTest
	GitUI/GitUICommands.cs
NoFastForwardMerge moved to RepoDistSettings as an example.
Submodule GitExtensionsTest updated

Submodule GitExtensionsTest:
    > 604b166 - Settings
Don't set settings commited to the repo indirectly.
Check if write is necessary
SettingsCache implements IDisposable
ConfigFileSettingsCache
Use FileSystemWatcher to decrease disk reads
Clear hasn't good semantic
Merge remote-tracking branch 'origin/master' into feature/DistSettings
ConfigFile.GetValue with defaultValue parameter
WeakRefCache
Git settings on one page with effective view - WIP.
Fixes
Move encodings to ConfigFileSettings
Remove null values
Merge branch 'master' into feature/DistSettings

Conflicts:
	GitCommands/Git/GitModule.cs
	GitExtensionsTest
	GitUI/CommandsDialogs/FormCheckoutBranch.cs
Remove parameters from pages constructors to avoid errors from VS designer.