Add shift[Direction] methods to Position.
Add castling tests.

Add pawn, pawn promotion and tests.