Fix testing castling moves for (pseudo) legality
Fix typo: is_attcked_by -> is_attacked_by
Port ecotool to pure python version
Add polyglot compatible zobrist hashing
Forfeiting castling should not reset half moves
Hash in en passant only if it makes a difference