Rearranging code to put public portions on top.
Added return state if constraints have limited the iterations because the iterations stuck on a constraint (and root is on the other side of constraint).
Added ability to specify constraints for any number of elements of the solution vector. Based on the paper by Shacham 1986.
Initial implementation minimum distance calculations between surfaces and points.