Initial geo-region coder

This implements an initial cut of the core class, a SpatialIndex, used to do geo-region coding.  It can find the feature ID corresponding to the geo feature that completely contains (including boundaries) a point or any other geometry.

Also included:
- unit test
- performance benchmarking tool
- sample data/shapefile
I think strictly speaking, the geocoding is on the resource dataset entity (eg. Chicago crimes) not on the georegion entity (eg. Chicago wards). One suggestion for the route is /experimental/resources/:resourceName/geocode/regions/:regionName

It is a little long but I think it makes the endpoint purpose clear. We would need to rename resourceName to regionName in existing shapefile ingress code so it's always clear whether we're referring to the resource (Crimes) dataset identifier or the georegions (Wards) dataset identifier.