integrating all of the dotnet stuff and reversing out a bunch of changes to build against the mono core