Massive commit. Added all of the cycles stuff, including verbose comments. Also, refactored DFS to use a simple map to filter duplicate, after making the realization that I only had such a convoluted solution because C doesn't have built in hash tables.