Working game

 - Moved main.cpp to source
 - Changed BoardModel to not do automatic re-swapping of illegal moves
 - Added simple game loop
 - Updated tests