adds more methods from Position to implement in Board
adds isValidPromotion to PieceTypes
drops fromRelativeSquareNo and adds .adjusted property to Squares
corrects some references to squares etc in Position and cuts some methods to move to Board
adds some methods from Position to Board.  cuts out some commented code
does some refactoring and adds regular and pawn move low level check methods to Move

adds FIXME about checking whether the rook is there in castling code
refactors CaslingRights - removes getBySide and getByFile in favour of just get()

same with set().

adds getFenString and getXFenString (sides and files respectively)

adds CastlingRight private class