implements getCastlingRights and setCastlingRights in Position; adds isThreefoldRepeatOf
updates castling rights code and merges MoveLabel into Move
removes CastlingRights