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.
Victor, can you comment on that same issue at #51?  stefano found a stack overflow comment that for built in types return by value should be faster

https://stackoverflow.com/questions/270408/is-it-better-in-c-to-pass-by-value-or-pass-by-constant-reference