Converted All projects to .NET 4.0.

Mostly the solution compiled without much change. Two changes did have to be made however:

1. String.Join() is a static method in .NET 4.0 so instances where this was used as an instance method had to be modified.

2. A "Tuple" generic type was added to the System namespace in the GitCommands project. In .NET 4.0 Tuple was added to the system namespace natively so the System.cs file which only contained the "Tuple" type was removed.
Merge remote-tracking branch 'upstream/master' into more_covering_tests

* upstream/master: (44 commits)
  Removed obsolete GitHub project, replaced by GitHub3
  RSS Feed deleting fixed. Closes #954
  fixed an issue with empty commit templates showing watermark text
  Checkout branch when (no branch) selected moved to handling commit button
  Fixed the About-box not always splitting names
  updated installer to include new github plugin, updated about-box
  GE installer now install GitHub3 plugin
  Removed unreferenced assemblies from projects
  fixed an issue where creating a pull request could list duplicate branches initially
  Implemented PullRequestDiscussion.Post
  commented out a messagebox
  Implemented Repo.CreatePullRequest and PullRequest.Close
  pull request talk, fixed a null ref
  pull request discussions featuring only commits
  WinMerge diff command fixed
  Store original font before it changes
  Parse commit dates with local timezone offset
  WinMerge diff command fixed
  added diff to pull requests
  fixed that OAuth support.
  ...
Merge branch 'more_covering_tests'

* more_covering_tests:
  Adding more tests to cover more code. 29 tests passing
Updated version info
Fixed null reference exception in Github plugin
Updated changelog
Do not check spelling of watermark text
Updated changelog
Show correct working directory in browse dialog
Merge remote-tracking branch 'upstream/master'

* upstream/master: (36 commits)
  fixed #922: Error during conflict resolve
  Save changes with Ctrl-S hotkey
  Revert "Fixed the mono solution file so it would build"
  Disable “Save” button after saving
  Close dialog on Escape key press
  Do not close editor if user canceled dialog closing
  "\n" string writing to config fixed
  Fixed the mono solution file so it would build
  fixed commit 66c8bb4a4d, FindLargeFiles in mono project
  migrated Github => Github3 in VS2008, VS11 and Mono project files
  updated the Git.hub.dll
  added search repositories via legacy API.
  Github3: Accept _ and . in repo names.
  RSS Feed deleting fixed. Closes #954
  Install into 'All Programs' instead of 'All Programs' > 'Git Extensions'.
  Parse commit dates with local timezone offset
  Partial revert "Removed redundant else keywords"
  fixed mistype
  GitCommandCache code cleanup
  Removed various redundancies
  ...
AssemblyInfo.cs in all projects replaced by one file CommonAssemblyInfo.cs
Problem with quoted diff or merge command fixed. Closes #968
adding more covering tests to ConfigFileTest
French translation: 20%
Show correct working directory in browse dialog
Progression 28%

FormPush, Settings, Remotes
Merge remote-tracking branch 'upstream/master'

* upstream/master:
  Created Mono projects so they won't interfere with VS project files
  Corrected force option
  Added force option to FormCheckoutRemoteBranch
  Continue forced option added to FormDirtyDirWarn
  Fixed Commit form's menu item descriptions to be consistent with the rest of app.
  Added 'Open containing folder' menu item to Commit form.
  Fixed icon transparency issue for File -> Refresh menu item on the main form
Fixed incorrect path in Github3 plugin postbuild event.
Tools version & target framework version are now consistent.
Fixing an issue with the open merge tool command.

An extra quote was being prepended to the arguments string causing the command to fail.