[msvc] Fixed missing semi-colon.
Removed some dead code.
[msvc] Fixed empty struct declaration (it's not valid C according to MSVC).
[msvc] Updated project files.
[msvc] Fixed heap problems at runtime when calling free().

Due to an incompatibility in the project files and DLL API setup code, we were importing locally defined symbols as DLL. This manifested as a debug heap dialog in VS caused by allocating and freeing memory between two Windows modules (which have their own memory heap).

Fix this by simplifying the DLL defines in MSVC, we are relying on .def files to manually specify the exports anyway.
[driver] Fixed outdated URL in help message.
[mcs] Add support for __refvalue passed as a reference
[mcs] At least one of nameof methodgroup argument candidates needs to be accessible
[mcs] Improve extension methods error reporting
[mcs] Validate more nameof argument expressions
Remove 4.0 profile
Remove old (now unused) 2.0 sources
Fix xbuild profile dependencies
[System.ComponentModel.DataAnnotations] Temporarily bring back the original AssociatedMetadataTypeTypeDescriptor

The one from MS referencesource causes test failures in the System.Web.DynamicData test suite (specifically those that use the FooWithMetadataType class).
A quick investigation showed that the returned attributes for that class only include the attributes from FooMetaDataType and not from FooWithMetadataType merged with FooMetaDataType.