Refactor twobody

Refactoring of twobody interaction.

The purpose is to use OpenMM's `std::vector<RealVec>` instead of custom arrays with indexing as previously used in the code.
This makes the code a lot simpler and allows to re-use some functions in the three-body force.