Fixed issue: with many branches GitExtensions hangs

GitExtensions hangs when you open branch drop down, 770 in my case
Solution
-> limit number of items to 100
-> moved "Checkout branch" to top of dropdown
Disabled some menu items for bare repositories. Issue #1896
Auto stash, auto pull disabled for bare repositories. Issue #1896
Help image now correctly set form MinimumSize
Merge branch 'release/2.47'
Updated changelog.
Wire up event.
View PR on GitHub link
Add default parameters to align other arguments position.
Settings fixed for VS plugin and shell extension.

* Duplicate context menu items for shared folder. Closes #1987
* VS plugin reading settings fixed. Closes #1935
* Option added that restore old shell extension behaviour. Closes #1821
Merge branch 'release/2.47'

Conflicts:
	GitCommands/Settings/AppSettings.cs
	GitExtensions/Program.cs
	GitPlugin/Git/GitCommands.cs
	GitUI/CommandsDialogs/SettingsDialog/Pages/ShellExtensionSettingsPage.cs
Fixed issue: open commit from file history shows incorrect file changes

The parent guids from filtered revision grid where used, causing incorrect results
Windows 8.1 added to list of supported OS
Merge remote-tracking branch 'origin/release/2.47'
fixing postBuildEvent case sensitive error when compiling with xbuild

Avoid calling user32.dll on EditNetSpellChecker, formcommit opens

removing MonoCS compiler directives, checking runtime for mono

adding GitCommands.Utils

we should use EnvUtils.IsMonoRuntime
disabling the delegates for the spelling