Added NullPiece check to castle so that it can't castle through other pieces and refactored some castle code
Updated README