Some cleanup and unit tests

Renamed ConstVector2d to ImmutableVector2d.
Changed lengthSq and distanceSq to lengthSquared and distanceSquared.
Some fiddling of method ordering.
Fleshed out unit tests, including creating a BaseTuple2dTest class for testing all Tuple2d implementations.