En passant and load fix

-En passant implemented. This can be applied to any piece meaning a
piece with the ability to take on passing can take any piece that can be
taken this way if they can reach a square that piece passed through in
the previous turn. This is not currently reflected in find_all_moves.
-Loading from a file now resets the game, loading from a string does
not. Also fixed a bug that made new boards not able to be created.