[broken] Replaced NSMutableDictionaries with NSMapTables

We've used to wrap objects into non-retained NSValues,
and put them into NSDictionary.
We've used to override -copyWithZone with `return [self retain]`
to allow using objects as keys and still being able to observe them.
fixed tests. production app has a zombie tho
move KWIntercept to ARC code
Merge pull request #461 from allending/NSMapTables

Convert KWIntercept to ARC