Un-clusterified InchCoord

As well-meaning as the work on creating an InchCoord cluster class was, I just don't think it's necessary at this point, and too much complexity at this level.  It did prove out some aspects of how P001Model should work, so it wasn't a complete waste.  And the “formula” that was figured out for it may become useful later.

• Combined InchCoord and InchCoord_double implementations into a double-native InchCoord, similar in code and functionally the same as what existed before the cluster conversion.
• Removed InchCoord_NSNumber implementation.
• Removed unnecessary comments, pragmas, and constructs for cluster class stuff.
Un-clusterified InchCoord

As well-meaning as the work on creating an InchCoord cluster class was, I just don't think it's necessary at this point, and too much complexity at this level.  It did prove out some aspects of how P001Model should work, so it wasn't a complete waste.  And the “formula” that was figured out for it may become useful later.

• Combined InchCoord and InchCoord_double implementations into a double-native InchCoord, similar in code and functionally the same as what existed before the cluster conversion.
• Removed InchCoord_NSNumber implementation.
• Removed unnecessary comments, pragmas, and constructs for cluster class stuff.
Merge branch 'feature/puck-dynamics' into 'adhoc/travis-build-test', forcing to the state of the former

Forced to the state of feature/puck-dynamics by:
1. Checking out 'feature/puck-dynamics' and running `git merge -s ours adhoc/travis-build-test`.
2. Checking out 'adhoc/travis-build-test' and hard-resetting to the new merge commit (currently, feature/puck-dynamics).
3. Checkout out 'feature/puck-dynamics' and hard-resetting to HEAD^ (feature/puck-dynamics commit prior to the merge).

The only downside to this approach is that on adhoc/travis-build-test, HEAD^ (HEAD^1) points to the feature/puck-dynamics commit, while HEAD^2 points to the prior adhoc/travis-build-test commit.  This is opposite of normal, and can be a little confusing when referencing HEAD^ (though adhoc/travis-build-test is named “adhoc” for a reason).
Merge branch 'adhoc/travis-build-test' into feature/unit-models
New GeoSpace model

• New GeoSpace model, which is just a singleton instance with no properties.
• New SpaceModelTests tests, with basic init and surrogate tests.
• Added GeoSpace.h/.m and SpaceModelTests.h/.m to the project file.
	» Added by hand, so there's a good chance it won't work when opened in Xcode.  And a slight chance that it will (though Xcode will probably renumber/reorder things.)
Merge branch 'adhoc/travis-build-test' into feature/unit-models
WIP: Uncommented coarse->fine assert within assertBothUpAndDownConversionRatiosCorrect
Merge branch 'adhoc/travis-build-test' into feature/unit-models
Fix (attempt) for GeoSpace dealloc crash

It appears that the crash that was happening with GeoSpace#dealloc within SpaceModelTests#testGeoSpaceInitialization was caused by the shared singleton instance being alloc/inited only once, but release/dealloced multiple times.

There are, of course, a few approaches to fix this.  Considered were doing an extra release with each init, leaving init as normal and documenting that the singleton must be accessed via a +shared… method (as per Cocoa), or hacking retain/release/autorelease/dealloc to not do as they're told.

The approach taken was to override retain, release, and autorelease to bypass normal functionality only if the instance is the sSharedGeoSpace instance, leaving dealloc as it normally is.  The idea is that normal usage (e.g. alloc/init, retain, autorelease, retain, release) will just use the sSharedGeoSpace instance and never move the retain count from 1, however, by bypassing the normal initialization (by using objc_msgSendSuper() to alloc a GeoSpace via its parent class's alloc and calling initIgnoringSingleton), one will have a normal instance and everything will work as it should.

Also:
• initSharedGeoSpace was renamed to initIgnoringSingleton in order to reflect more closely what it does, rather than the common use-case.
Merge branch 'adhoc/travis-build-test' into feature/unit-models
Merge branch 'adhoc/travis-build-test' into HEAD
Merge branch 'adhoc/travis-build-test' into feature/unit-models
Added invalid and unset tests to testGeoSpaceInitialization

SpaceModelTests's testGeoSpaceInitialization previously only tested that after alloc/init, the instance was non-nil.  It also makes sense to test the invalid and unset states of the object, since they're universal to all P001Models.
Merge branch 'adhoc/travis-build-test' into feature/unit-models
Added invalid and unset tests to testGeoSpaceInitialization

SpaceModelTests's testGeoSpaceInitialization previously only tested that after alloc/init, the instance was non-nil.  It also makes sense to test the invalid and unset states of the object, since they're universal to all P001Models.

Also fixed GeoSpace to return NO for isInvalid instead of YES, satisfying the new tests.
Merge branch 'adhoc/travis-build-test' into feature/unit-models
Created ScreenSpace model

• Created ScreenSpace; it's (currently) a clone of GeoSpace (since both are placeholders for general, singlular concepts).
• In GeoSpace, renamed sSharedGeoSpace to sSharedInstance since the general concept is more important internally than the type and there's no possibility of conflict.
• Added ScreenSpace to the project file, by hand.
• Added tests in SpaceModelTests matching GeoSpace's for ScreenSpace.
Merge branch 'adhoc/travis-build-test' into feature/unit-models