Refactor castling check and handling
Split pieces further out into separate files per subclass
Split HumanPlayer class into separate file
Remove vestigial player method for controlling the menu prompt and abstract logic into HumanPlayer class
Abstract input-capturing logic to HumanPlayer class
Split out board querying logic to a separat BoardChecker class