1) generalized energy type in C++ wrapper
2) added pairwise potential callbacks to the C++ wrapper, so that
arbitrary pairwise potential suitable for expansion/swap can be specified