Refactored Piece and Pawn to be functional--they do not mutate/decorate the move object; they have more granular methods that return true or false depending/