Upgraded Move; documenting; algebraic

Move class now allows for pawn promotion field
Now reads algebraic notation
Added documentation
Threefold repetition currently conflicts with undo
Try to decouple graphics, board, and game