Re-add OPTIONAL support for TESLA PDFs.

There is no dependency on GraphViz unless you type 'make tesla.pdf'. Also, if you have a funny version of GraphViz+dependencies (as my FreeBSD box does), be prepared for strange output (tesla.pdf + more PDFs dumped to stdout).
Handle return values properly in __tesla_leaving.
Rename 'entered', 'leaving'.

Call them 'called' and 'returned': consistent tense, sensible relationship to existing programmer concepts.
New (working) assertions!

We can also make assertions about leaving functions (even void ones) and about the future.

Previously (er), the non-working instrumentation of 'eventually' was hidden by the fact that we only used it in NFAs (which we currently ignore).