Add import and game instance to test_pieces.py.
Add skeleton place_piece method.
Fix bug in _initialize_board: add actual pieces, not just pawns.
Implement _place_piece and update _initialize_board to take advantage of it.
Add skeleton generate_actual_cache method to Pawn class.
Remove type-checking @properties on piece class in favor of duck typing.
Merge branch 'oo-game-logic_new-caching' of github.com:tsnaomi/Chessnut into oo-game-logic_new-caching
Remove commented-out QueensideRook and KingsideRook code.
Implement Knight's generate_actual_cache.
Remove tests for old @properties on pieces.
Comment out test for moving pieces off board; it should eventually move to test_game.py.
Fix Knight's _generate_naive_cache method.
Implement test for Knight's _generate_actual_cache method.
Tweak game class: test for _generate_actual_cache on Knight now passes.
Add has_moved to Pawn as alternate strategy for tracking legality of initial move.
Add _generate_actual_cache method to Pawn class.
Add has_moved updating to move_to of pawn. Move called to super in Pawn __init__.
Add test for actual_moves generation for Pawns.
Update test for Pawn's naive_moves cache.
Add testing for has_moved's effect on naive_captures generation in Pawns.