Add rollbacks to tile re-arrangements

Previously, any kind of interruption during tile re-arrangements would leave the tileset in a half re-arranged state.

This commit makes `_increase_dept`h roll back possible changes it did during the re-arrangement prior to it being interrupted.

Fixes issue #1166.

**Important Note:** If you test this with crop zones and see weird artefacts in tiles, then this is most likely not the fault of this PR. I saw it too. Then I *rm*'d everything, tried again without any of my code interacting with it, and got the same mangled result. I'm guessing either crop or `_increase_depth` is bugged.