Fix off by one error and add test for FSM.new_level
Fix off by one error in FSM.run
Add lower bound test for new_level state change
Test that FSM.timer is set to Date.now() if previously null in FSM.new_level
Add more tests for FSM.new_level
Refactor away duplication into setup method in tests