Refactoring testing

## What I did
- Tested the game state controller with isolated tests.
- Moved 'Move' controller code into a new model.
- Write tests over new Move controller.
- Start Therapeutic Refactoring style testing over new model.

## Suggestions to finish this PR
- Finish off testing on new model. I would suggest @Widdershin do this with @UberMouse as @Widdershin is most likely to be free, has done isolated testing before and has watched the Therapeutic Refactoring video so is familiar with the process.
- Throw some integration tests over the Move controller to make sure it is all working together as expected.

## Suggestions for the rest of the back end and duration of this project
- Write tests. A lot of the problems you are all experiencing and are wasting time on is due to the lack of robust test coverage.
- Make sure you have minimal code in the Controllers, you know better than this by now.
- SRP. You have some giant methods in the code. Make sure each method is doing one thing only. If you have to use 'and' or 'or' in the description of what the model method it doing then it is doing too much.
- More tests (see first point).