move parsing and to algebraic string - non-pawn en passant capture

also tighten up which rows pawns can capture en passant