zobrist hashing (FIXME: don't flip state.board)
no longer flip State::board at all ever, let move generator be aware of color differences; also refactor generously
generate king moves, fix algebraic moves
fix pawn double pushes