Updated for compatibility with new TypeInfo-based Reflection API

Updated for compatibility with new TypeInfo Reflection API, used in new
.NET environments like Windows Phone 8.1 , Apps for Windows Store and
their respective PCL profiles.
Why implement CopyProperties? Properties are just setter and getter functions with underlying fields in a different syntax. Those underlying fields should already be copied in the CopyFields() method.