Improve castling support to parseAlgebraicMove