Added Knight and Pawn moving / controling implementations.

Added the "promotable" flag to PieceType to be used for pawn promotions.

Added documentation.