Fixed the castling bug that broke the game

Note: Added move history on top of last_move in Board. Perhaps this
should be changed to only use one of them in the future.
Next step is pawn-promotion since this tends to happen in end-game.