added more documentation and fixed a bug in FunctionRing discovered when doing docs. nice.
added a single location for printing traversals prior and post optimization in test cases. TraversalStrategies now can only exeucte one (now that there is no such thing as a RuntimeStrategy anymore). This ensure we don't get weird locking behavior as Stephen once notice with toString(). Added path() docs and cool image.