* Added a convention test to detect a model constructor exposing all properties
* add ctors to classes where they are missing
* rename ctor parameters that dont match properties
* add missing parameters to existing ctors
* add specific PunchCard ctor to allow mocking, and update test to resolve call ambiguity
* Added base class properties to the convention test
Added member exclusion attribute
* Updated newly offending classes
2 excludes and 2 ctors
* rename exclusion attribute to be a bit shorter
It's bothered me that our response models are mutable. They really
shouldn't be. I made the properties have a protected setter instead of
private to provide flexibility for others who might be deriving from
these classes or testing them.
Fixes#650