Corrected player position swap on first and last moves.

* Corrected player position swap on first and last moves.
* Refactored all file path building statements to use Path.Combine.

The maze state shown on the console and written to the replay folder now has the correct player positions on the first and last moves. Before, their positions where swapped. An illegal move that causes the game to end is now also included in the replay, which I think is better, but you may disagree.

I also changed all the statements for building up file paths (within the file I was looking at) to use Path.Combine, so most of them fit on the screen without scrolling sideways now.