Fix 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.