This enables a bunch of clean up! Remove the MoveGenerationParameters and MoveList types from move_generator::pawn. Implement BitBoard::pawn_pushes to look up pawn pushes by square and color.
Add an associated type called Error to the ToFen trait. This mirrors the try_from any try_into traits.