FIXED Geocoding progress not working, integer division results in always 0.0 or 1.0 result.
Add a pre processor flag (RH_AB_INCLUDE_GEOCODING) that controls the inclusion of all  geocoding code.
While the geocoding logic was already disabled by default, many people have asked for the ability to remove it entirely.
Use the CFSet methods to remove values rather than the NSSet methods inside checkout.
Ensure that RHRecord instances are removed from their respective weak caches on the _addressBook thread.
We do this to guarantee that they are removed from the weak cache before some other thread else ends up with an already being deallocated object.
Unfortunately this only currently works when RHRecord is build with ARC disabled because the logic has to be placed inside release.
Wrap RH_AB_ENABLE_DEBUG_LOGGING and RH_AB_INCLUDE_GEOCODING in #ifndef to make it easier for others to override them without editing the project.