Let 'tesla graph' produce non-dot representations.

In fact, rename 'tesla graph' to 'tesla print' and fold 'tesla read' into it.

We can now produce:
 - GraphViz 'dot' files
 - a string representation that is more state-focussed (and should therefore be more stable when writing unit tests)
 - the original automaton/assertion (subject to constraints described in analysis/Parser.cpp:1198)
Trivial: whitespace.