Add swap particle move takestep

This adds a takestep class doing particle pair swapping.
To accommodate that, mc is changed such that it loops over a vector of steps (moves) similar to the looping over actions and configuration tests.

we should talk about the signature of report.  I would suggest something like

    void report(old_coords, old_energy, new_coords, new_energy, bool success, mc)