Implementing periodic boundaries for rigid bodies

Lots of the changes here are entirely cosmetic or else were intended entirely for my use - e.g. most of the new comments and the changes to pymolwrapper.py which were designed to allow visualisation of small rigid-body periodic systems.

The important changes are the ones where I've defined new or overloaded functions and classes. In particular the new _otp_bulk module, the new classes in minpermdist_stochastic.py and periodic_exact_match.py, and the changes to the cpp files/their wrappers. I've also put in a fairly extensive test routine.
have a look at the link below for how docstrings should be formatted.

https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt

It's important to keep a standard docstring format because the docstrings are automatically parsed (using sphinx) to create the documentation.  e.g.

http://pele-python.github.io/pele/generated/pele.transition_states.FindTransitionState.html#pele.transition_states.FindTransitionState