Supporting NSMapTable

Much of the same implementation as NSDictionary and NSMutableDictionary