WIP: Find the closest vertex on a sphere for an input vector.

This is useful for both https://github.com/nipy/dipy/pull/460 and https://github.com/nipy/dipy/pull/419 so needs to take precedence. It's not quite done yet, though. Will hopefully have a chance to finish this later today. 
I noticed that this test is failing because this sphere has "mirror" points. For every point X on the octahedron, there is also a point -X. We can easily get this test to pass by using something like `sphere1 = hemi_icosahedron.subdivide(3)`, but that got me thinking. Should this method be defined only on the HemiSphere? The docs for hemisphere say "A HemiSphere is similar to a Sphere but it takes antipodal symmetry into account." We could also define different versions of this method for Sphere and HemiSphere. Thoughts?