Update branch 'feature/models-and-surrogates' to latest 'feature/puck-dynamics'

Also insisted that README.md's build status line references “feature/models-and-surrogates”.
Switched Tests to use .-based accessors

Switched InchCoordProxyTests and InchLocationTests from using getter and setter methods to the dot-notation setters and getters.  The “#pragma clang diagnostic ignore” lines that were recently added to each model's P001ModelSurrogate category make this possible without any warnings or errors.

Note: This turns the mistake that we've been calling setters on surrogates for a while now (which are by nature readonly) into a hard error.  Which is good, but bad. YKWIM

Minor:
• Moved object sets in InchLocationTests#testXYSurrogation to inside the brackets, matching InchCoordProxyTests's format.
• Switched `P001ModelSurrogate<…ish>` syntax to now-preferred `id<…ish>`
Replaced P001ModelSurrogate's @dynamic decls with #pragma

Replaced P001ModelSurrogate's @dynamic declarations for the “invalid” and “unset” properties with a `#pragma clang diagnostic ignored "-Wobjc-protocol-property-synthesis"` @implementation prefix and a `#pragma clang diagnostic ignored "-Wobjc-missing-property-synthesis"` @interface wrap.
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.
Cleaned up test structure and messages

• Broke down each test into bracketed steps, each prefixed by the constants it uses (that are sometimes referenced later on) and the name of the step in the form of a NSString set to a new `test_step` ivar.
	• All assert messages now start with “After %@” with “%@” filled in with the `test_step`.  The “at this point” suffixes eliminated.
• Some of the assert messages improved to “_underline_” the most critical part of the message (namely, an easily-confusable state descriptor).
• All assert messages are now sentence-case and end with a period, which should make them stand out better.
• `P001ModelSurrogate` instances are now allocated to autorelease (which happens at the end of the test because SenTest has every test invoke wrapped in `[[NSAutoreleasePool alloc] init]` and `[pool release]`.
Added InchCoordProxyTests#testProxyValidityFlagPersistence

• New `testProxyValidityFlagPersistence` test that starts similarly to `testInstanceAndProxyValidityFlags` but instead of setting a value (and thus validating the inchCoord/Proxy) it immediately releases the `inchCoord` and test that the `inchCoordProxy` has the correct flags.
	» This test is essentially an alternate version of `testInstanceAndProxyValidityFlags` where `inchCoord.doubleValue` never gets set.
• Added step to `testInstanceAndProxyValidityFlags` that test `inchCoordProxy`'s flags after `inchCoord` has been released (to match `testProxyValidityFlagPersistence`).

Minor:
• Updated function comment for `testInstanceAndProxyValidityFlags` and added a similar one to `testProxyValidityFlagPersistence`.
Renamed ObjcRuntimeUtils functions

Renamed the functions in ObjcRuntimeUtils to more closely match the naming in <objc/runtime.h>, like they're a natural extension of the runtime API.  Updated all project usages to the new names.

Also Rearranged ObjcRuntimeUtils.m a bit to more closely match the order of the header file and eliminate unnecessary forward declarations.