Fix retain cycles, fix not cleaned up KVO, add clusters getter

These issues came up because I am removing CCHMapClusterController in some cases. Specifically I use it when the user is offline. 

The KVO problem caused a crash. The retain cycles cause a memory leak and the lack of a clusters getter meant that I could not easily remove the cluster annotations from the map.