Port procrustes module

Ports the procrustes module, along with the tests and improved
documentation that's compliant with @jrrideout's annoying guidelines.