Ability to specify a subset of properties for JSON representation.

Implementing this new (optional) protocol method causes the specified
properties to be omitted when creating a JSON representation of a
model.

Includes:
* Header documentation describing usage.
* A spec which was written before the implementation.
* A new MTLTestModel subclass which supports the spec and demonstrates
  usage.
* An implementation which causes the spec to pass.