Finished game logic, started test functions

Finished the game logic by implementing en passant, and then started
writing test function to read algebraic notation and convert to moves
that can be made in the program.