Refactoring, part I

- KPTreeControllerRework is created side by side with original
KPTreeController.
- Clustering algorithm is abstracted and extracted to
KPGridClusteringAlgorithm
- Test that ensures integrity of clustering algorithm is written.
Handle clusteringEnabled == NO case
<KPTreeControllerRework>: add treeControllerShouldClusterAnnotations:
Create KPConfiguration class to hold configuration settings
Remove old KPTreeController
Merge branch 'master' of https://github.com/itsbonczek/kingpin
Always declare memory-management semantics even on readonly properties.