almost working en passant

it's still possible to illegally capture en passant from the wrong ranks. I'll fix this soon. Also, the en passant code is really ugly. I wanted to get something functional so that I can see what parts are needed, then refactor those parts into a logical organization. Finally, en passant has been the hardest thing so far.
s/arr2d/board/