Merge updates from branch 'feature/models-and-surrogates' into 'feature/puck-dynamics'

Once again, updated README.md build status line to reference “feature/puck-dynamics”, not “feature/models-and-surrogates”.
WIP InchCoord cluster class

A non-working attempt to refactor InchCoord into a cluster class with two sub-types, InchCoord_double and InchCoord_NSValue for storage using a double or NSNumber, respectively.

As it stands, InchCoord_double/_NSValue's `[super dealloc]` mistakenly calls back into the swizzled dealloc_withModelWillDie, overflowing the stack.

Currently:
• Basic `init` initializer added to InchCoord's header
• InchCoord cluster class
	• Init with a double or NSValue, from which it creates the correct cluster!
	• InchCoordPlaceholder, InchCoord_double, InchCoord_NSValue, and the InchCoord base class
	• isClusterBaseClass, isClusterPlaceholderClass, and isClusterSubClass helpers added.
	• unset state is now handled per-subclass
	• Lots more stuff!!! (_lazy_)
• InchCoord just deals with NSNumber now.  That NSDecimalNumber duality was nastay.
InchCoord: Class stand-in

Trying to use a Class as a between-alloc-and-init stand-in instead of an InchCoordPlaceholder instance.  This should still call the instance `init` but self will be the stand-in Class, which will need to be replaced by a freshly alloced subclass.

Currently hitting the isClusterBaseClass exception within InchCoord#init.
Minor: Clean-up for InchCoordPlaceholder & InchCoord_double

• InchCoordPlaceholder's initPlaceholder now has an area where further initialization could be done, if necessary (also makes it clearer what's going on earlier).
• Added kInchCoord_doubleUnsetValue as a constant for NAN.
• InchCoord_double's and InchCoord_NSNumber's `init`s now piggy-back off of `initWithDouble:` and `initWithNSValue:`, respectively (though InchCoord_double#init still needs to set _unset to YES manually, since unset means a doubleValue of NAN but the opposite isn't necessarily true).
• More common condition first in InchCoord_double#nsValue and InchCoord_NSNumber's#doubleValue.
InchCoord stand-in and init fixes

• Stand-in is now not a Class, but a reference to a variable (kClusterBaseClass) containing a reference to a Class.  This double-deref lets us cast and use it directly as an id.
• InchCoord's init cleaned up considerably to have two main execution paths: one if we receive the stand-in, and the other if we don't (e.g. if we have an alloc'd object to deal with).
	» init no longer touches `self` after the initial isClusterInstanceStandIn check (which only does an equality check).
	• The former execution path is now a InchCoord_initForStandIn class method, called directly on kClusterBaseClass.
	• The latter execution path is now a InchCoord_initForAllocedInstance instance method, called on self and acting prettymuch like a normal init.
	» Lots of comments about this wonkiness.

Also:
• Removed InchCoordPlaceholder.  Don't need that shit no mo ('s NSValue engineers are cray).  And it wasn't being used anywhere at all, since the stand-in change.
• Removed kClusterPlaceholderClass and isClusterPlaceholderClass as well.
A little clean-up for InchCoord's cluster stuff

• Made isClusterBaseClass and isClusterSubClass into class methods, like SceneViewController.
• Made raiseNotImplementedInClusterClassExceptionForMethod: instance and class methods from raiseNotImplementedInClusterClassException() function, also like SceneViewController.
	• Messages improved a bit too.
• Documentation comments here and there.
• Some more stuff listed in InchCoord's internal @interface.
• Moved things (sInchCoordStandIn, all the function->methods) around a bit.
Merge updates from branch 'origin/feature/models-and-surrogates' into feature/puck-dynamics
Minor: Renamed InchLocation's initUsingX:y: to initUsingX:Y:.

This seems to follow what's used in Cocoa better.
InchCoord is now marked as abstract, as it should be

• InchCoord is now marked as abstract.  I must've missed this before.
• And InchCoord_double and InchCoord_NSValue both override isAbstract to report NO again.
Merge updates from branch 'feature/models-and-surrogates' into feature/puck-dynamics
Travis: Using latest stable xctool rather than HEAD

Travis started choking when trying to `brew install xctool --HEAD`, complaining that `Error: xctool-0.1.7 already installed`.  Removed the `--HEAD` portion so that latest stable is installed, and if already install (as it seems is the case here) won't error.
Added Affero GPL v3 license

* Added LICENSE.txt with GNU Affero General Public License v3
* Added simple 4-line copyright and license doxygen-comment-style entries to the top of each file, just after the project name.
  > Used: find * -type f -exec sed -f ../sedscript -i '{}' \;
    where sedscript is: N; s`// Prototype 001`// Prototype 001\n// @copyright: Slipp Douglas Thompson\n// @copyright date: The date(s) of version control check-ins corresponding to this file and this project as a whole; or in lieu of, no earlier than 2013.\n// @license: The GNU Affero General Public License v3\n// \tA copy of the license can be found in the accompanying LICENSE.txt file; or in lieu of, see <http://www.gnu.org/licenses/>.`
Update branch 'feature/puck-dynamics' to latest 'master'
Added license header to files missing it

In the same manner as before, added copyright and license entries to the top of each file existent on the 'feature/puck-dynamics' branch but not on 'master'.
> Removed double-replaced files with: find * -type f -print0 | xargs -0 -L1 ../doublecopyright | xargs -L1 git checkout
  where doublecopyright is: count=`grep '@copyright:' "$1" | wc -l`; if [[ $count -eq 2 ]]; then; echo "$1"; fi
Update branch 'feature/models-and-surrogates' to latest 'feature/puck-dynamics'

Again insisted that README.md's build status line references “feature/models-and-surrogates”.