Fixed an issue with turn order

Events now always happen in the correct order and with the correct
timing, regardless of moves spanning multiple turns. I also fixed #69
using the suggested method.