Simplify/refactor operators

The partitioning code and tiled model are refactored along to the description in the ParaPhrase deliverable D6.8 (chapter 4).
I fixed a bug which sometimes caused losing agents. Now there is an issue with deadlocking (#1) but it's not a bug.

The tile version divides the world into 2 pieces, and it requires the width to be even.
This has quadratic complexity. It would be more efficient if all the positions were kept in a set. Checking and removing Old (see next comment) would be O(1) or O(logn) instead of O(n). It may also further simplify this function.