Worked on unusual moves. En Passant seems to work. Castling doesn't check if intermediate squares are threatened but otherwise checks square validity (does not execute castling).
Merge remote-tracking branch 'origin/master'