New methods for inspecting types (reflection based) * Heavy sln refactoring

- Solution now supports VS2012 or newer
- Portable: dropped support to NET40 and SL4, now targets NET45, WIN8, WP8, but with full Code Contracts support
- Added SL5 specific project (with no Code Contracts support)
- NuGet project now uses a custom MSBuild targets file for automatic nuget.exe downloading