Vantage-point tree inspired by Steve Hanov's implementation: http://stevehanov.ca/blog/?id=130.
These space-partitioning structures function similarly to kd-trees, but adapt well to high-dimensional data. This implementation supports insertion and removal operations.