Fixed multiple problems in the code.

I found out that infinity exists in C#, the matrix reduction function
was then changed to reflect that. Also, paths that would cause premature
cycles are now dealt with before we reduce the matrix.
Merge branch 'master' of https://github.com/joshbcondie/TSP

Conflicts:
	TSP/TSP/State.cs