Issue 227

This fixes #227 with the exception of vcxproj support, which would be a new feature.

The PR
  * Adds the ability to open and run tests from a VS project or solution
  * Recognizes all project types previously supported in 2.x: csproj, vbproj, vjsproj and vcproj.
  * Adds support for F# projects (fsproj)
  * Reuses and refactors the old classes from 2.x as well as their tests and adds additional tests.
  * Also refactors the NUnit project support to more closely match VS projects.
  * Moves interfaces to the public API in the expectation that some runners will need them.

I started work on support for vcxproj files - the new C++ file format - which NUnit 2.6.4 does not support. This turns out to be fairly complicated. In fact, it could require a fairly complete emulation of  msbuild to evaluate all properties correctly. At a minimum, more experimentation is needed to determine how the large number of settings available to the user are reflected in the actual project files. 

I have removed the code and I'll create a separate issue and branch for this feature.
Even though we have the code to support legacy project formats, do we want to take the opportunity with the 3.0 release to drop support for these? I don't mind leaving them in, but it commits us to supporting them for the foreseeable future so it should be a conscious decision.