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.
I agree, I thought so as well that pass by value should be better/identical, but I had to learn the opposite in our current project with VS2013 (I didn't test gcc). Could be specific on the context as well, but it was the exact same situation, also returning an element of a const matrix. I don't really understand why and I don't think it makes sense to be honest...

I will comment in the other bug as well.