Work on the build system

As discussed on the mailing list, rearranged all the build files (sln/csproj) by framework and cleaned up lots of things - look at the commits for details.

Once we get past this I'll look at nuget.