Rewrote dart throwing, introducting locators

Re-interpreted the augmentative differential by stacking points and
normals into a 6-dimensional vector. Stacking involves a weight for
point and normals, that should reassemble the importance of the two.

We then simply perform dart throwing in 6-d space using Euclidean
distance. This seems simpler in concept, works as expected and allows us
to use acceleration structures.

Adding a brute force locator and a hashtable based one for improved
performance.