Move parsing and movement testing

Added Long Algebraic Notation (LAN) for movement parsing, also added
proper movement testing for all pieces vice King check and King/Rook
castling. Everything should work fine except these two types of
movements. Future improvement to code could include proper error
handling for incorrect movement throws