Address many review issues

 - Renamed ReadOnlyProperty* -> ConstructorInitializedMember*
 - Fixed spelling of 'initialised'
 - Support read and write properties
 - Matching constructor parameter type on 'IsAssignableFrom'
 - Use ToArray instead of ToList
 - create the constructor arguments by passing ParameterInfo instead of type