avoid stack overflow in reference finder for self-instantiating entity
implementation of FSM toString
better implementation to transform implicit 'else' branch of multi cycle
'if' statement, and corrects potential bug.

We now create an iterable of branches, adding a dummy branch if the 'if'
has no 'else'. This has the effect of registering any peek done in the
different conditions as reads. Until now, the 'else' branch could be
taken if there was no data available, even in the absence of any
'available' test in the branches before it.
corrected bug when the instantiator is requested information about an
entity when it hasn't been initialized yet.
(tests) renamed 'idle' tests in Breaks using more explicit names
(tests) added two tests for wasted idle cycles
empty transitions now handled by post-processing step in cycle scheduler

instead of having to test whether current transition(s) is/are empty
when beginning a loop, after setup, and to make 'loop' loop, we just
eliminate empty transitions afterwards.
now we associate 'idle' to transitions so they are not removed.
now associating line info with idle statements, too.
This was not possible before, simply because the information was not
available (we did not associate them in the cycle scheduler)
small clean up in ActorTransformer's caseStatementWrite