c++ angle axis (rigid body) framework

this is a partial c++ rigid body framework, just enough so that potential calls are entirely in c++.

The only difference from a python users's perspective is you use a different implementation of RBPotentialWrapper.

I implemented a hacky version of a matrix class.  We should think about ways to do this better, or use an existing external implementation.
yes, just tested it again, wasn't certain about any side effects before
this
inline const double &operator[]( size_t i ) const { return m_data[i]; }
is significantly faster than this
inline const double operator[]( size_t i ) const { return m_data[i]; }