Provide more debugging information in libtesla.

Don't just say "fail", say what the expected state transition was and what state we were actually in.
Expose more instrumentation code.

We need this for instrumenting 'now' events.
Real 'now' event instrumentation.

This could probably stand some refactoring, but things actually work!

Now to debug libtesla...