Minimum refinement function position

This pull request addresses issue #46 and uses the patches suggested in pull request #146. It enables the minimum refinement level function to use not only the depth, but also cartesian or spherical coordinates to prescribe the minimum level of refinement of a mesh cell. It also adds tests for this cases.
Good question. I guess one could check if the division gives a finite value. Alternatively, something like this (also note that I am not computing .norm() again)?
```
  if (scoord[0] <= std::numeric_limits<double>::min())
     scoord[2]=0.0;
  else
     scoord[2] = std::acos(position(2)/scoord[0]);
```