Ported old performance branch

Now has an extra option for compiling an expression for object
construction, rather than just executing the constructor using reflection.

This is approximately 10x faster when the option is available.
Switched SafeDictionary to ReaderWriterLockSlim
Tweaked GetBestConstructor
Merged changes from upstream/master.
ReaderWriterLockSlim is not supported in the PCL subset we use.
Moved PCL related projects to separate solution.