Surrogate usage fixes for tests

These together should fix the build.

• In InchCoordProxyTests, using model to set properties instead of the surrogate since sets on surrogates are no longer kosher.
	» I still haven't fully decided on whether surrogates should always be read-only or not.  I suppose if I find myself coded into a corner, I'll reverse this decision.  We'll see…
• Added `InchCoord *x` and `InchCoord *y` overrides (of `id<InchCoordish> x` and `id<InchCoordish> y`) to InchLocation to allow `location.x.doubleValue = secondLocationX` set to work properly.
• Added to P001ModelSurrogate explicit `isInvalid` and `isUnset` accessors (otherwise they're automatically synthesized with associated BOOL ivars, which start at `NO` and never change value).  Also set up `_cachedIsInvalid` and `_cachedIsUnset` in the same manner as `_cachedHash`.
	» It seems this implementation isn't going to scale well to potentially many flags and/or model-specific flags.  I suspect I'll have to do something about making a objectified state facility soon.
	• Removed the `#pragma clang diagnotic`s surrounding P001ModelSurrogate's interface and implementation.  Their warning was a “true positive”.

Also:
• A bit more documentation on P001ModelSurrogate's `_cachedProperties`, `_cachedHash`, `_cachedIsInvalid`, and `_cachedIsUnset` ivars.