Second version of undirected cycle test.

This version pulls the edge color map into the DFS implementation itself. The
rationale behind this move is to more closely follow the design path of the
vertex color map already in place.