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.
The Occupied parameter is not really needed here, as Env#env.agents are used anyway. Also, the return Occupied is ignored, so maybe it's best to hide it.