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.
This isn't really new code, just the result of some refactoring. As I recall, the code was added to fix a bug. Visual Studio created an http: entry for Web applications, which caused our code to fail. Some projects have paths like "http://...", for which a general URI object test would work. But others have paths like "C://Project/.../http://...", which is why the test checks for the string anywhere in the path. IOW, the check is odd because VS is odd. :-)