minor perf improvements

- use a slightly simpler condition for figuring out en-passent moves
- figure out hash correctly for en-passent target positions.
-- There is no difference whether there is a en-passent capture
available or not if the next move can't actually capture the en-passent
target pawn. Keep this in mind when computing zobrist hash.
-- the scary part is that now hash table writes is little bit less than
no. of unique positions published by other people. Need to get to the
bottom of this.
- helps start position perft significantly (!45% improvement).