fix: throw exception if field or property name matches previous alias, not just vice-versa
fix: Type.IsClass and Type.IsEnum are not methods
temp fix: don't compile Unity-dependent source files from Visual Studio
fix warnings: field initializers

TODO: Unity stuff should build separately
TODO: integrate numeric range and precision round trip tests