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.
It is better to use STL's implementation of random number generators (docs _e.g._ [here](http://en.cppreference.com/w/cpp/numeric/random)).