Spatial indexing structure

Initial implementation using a BallTree for spatial indexing. Due to
BallTree's lack of a callable metric function, a test case had to be
disabled.