Merge remote-tracking branch 'upstream/master' into BuildServerIntegration

* upstream/master:
  Submodule status icon in menu fixed
  Owner fixed for apply stash dialog
  Support displaying submodules status icon
  converting png images to 32-bit
  GitCommandsTest renamed to GitExtensionsTest. TranslationTest restored.
  Select first staged item if there is no unstaged item.
Merge remote-tracking branch 'pbombeiro/BuildServerIntegration' into BuildServerIntegration

* pbombeiro/BuildServerIntegration: (32 commits)
  Make settings thread safe.
  async is a keyword.
  Fix compare.
  We already know it matched so no need to check the string.
  Check for later version updates only.
  Fixed submodule status on diff tab
  Make Settings.cs changes compatible with 45600a8b1d7122553a89336486271484a7026150.
  Update checked property when menu is shown.  This allows the item to be refreshed between instances.
  Submodule GitExtensionsDoc updated
  Fix for #1790.
  Fix key already exists bug.
  Removed SafeGet/SafeSet methods
  First step to remove SafeGet/SafeSet methods
  Fix bug where settings were not being retrieved again if file was modified.
  Make it easier for user to find settings by sorting keys.
  Clean up.
  Used two dictionaries to keep encoded values seperate from decoded values.
  Add me as a coder.
  Fix null exception error.
  Make sure dictionary is locked wherever a value is being set.
  ...