Changed setThreeParticleAction to virtual so subclasses can override
(for example enable neighborlists). Also added neighborlists using
unordered_map. This is very slow atm.