Implemented _generate_naive_cache for Pawns.
Wrote test for _generate_naive_cache for Pawns evaluating its generation of the naive_moves cache. Running into an issue with Pawns in general where the Pawn's generate_naive_cache method is called before naive_captures is created on the object.
Resolved issue with _generate_naive_cache on Pawn by moving naive_captures to above super.__init__ call in __init__.
Tweaked tests for _generate_naive_cache on pawns to use equality instead of identity. Test is passing.
Added test for _generate_naive_cache on Pawns evaluating the state of naive_captures. Test is passing.
Added _generate_naive_cache methods to all pieces (Knight's still needs to be implemented).
Added data types for chessboard groupings (the rank and file). These special data types will eventually handle validation of rank and file and conversion of rank and file to and from their representative strings, including arithmetic and comparison operations.