added GameEngine and Move. The game engine moves the pieces if the move is valid, and stores move objects(so you can undo later on)