Added unit tests.

Began writing unittests against functions. Test found bug that allowed
player to overwrite a square. Bug fixed, test now passes.
More tests

Renamed one function in model.py to prevent confusion with testcases.

Complete test of model.py assuming an empty board.
Finished Model and Strategy Unit Tests

Test cases ensure the strategy is working as intended, and the model
updates and returns values as expected.

Converted generic Exception to a new class DoubleMoveError in order to
handle the specific case in the control code. Control code updated, and
tests changed to reflect expected error.