Add MIN_X, MAX_X, MIN_Y, MAX_Y to module scope to represent the X and Y bounds of the board; replace ints with MIN/MAX X/Y where possible
Add self.moves for each piece
Refactor chess pieces to subclass from Piece instead of SimpleUnit
Fix Queen.moves to only allow moves in one of the 8 directions instead of to every square in a radius
Add set of all board positions, Refactor move calculation to check for movement in a given direction being blocked
Add MIN/MAX X/Y to test_engine.py
Update movement related tests to expect a set of moves instead of a list due to changes in engine.py
Add tests to assert a Queen is or is not blocked based on relative position of other units