Minimal bounding spheres for points

This introduces a method to create smallest enclosing spheres for an arbitrary number of points.
The implementation is a bit tricky due to the recursive nature of the algorithm but according to the papers it has a near linear runtime even for high-dimensional sets of points.
I will need this functionality for a mesh element quality metric (radius to shortest edge ratio) that is especially useful for the tetrahedral meshes we can now create. (You may know this from ParaView.)

I referenced the papers this is based on in the source file, if anyone is interested I can provide you either with PDFs or the printouts.
I don't know if it's worth changing this. I don't need this to be particularly clever (i.e. random), it's just generating a bunch of points located on the sphere. We could even consider removing this method as it is not part of the algorithm. I just kept it because it's useful for debugging.