Explicit representation of transitions.

Create struct tesla_transition and struct tesla_transitions. THese describe transitions that can be taken as the result of an event. The idea is that exactly one of these transitions should be taken.

This commit doesn't actually *use* tesla_transition, just defines the structure and a helper function that can print a human-readable version (for debugging).
Actually use explicit transition representation.

Pass tesla_transitions* to tesla_update_state(), tesla_assert_fail(), etc.

This commit doesn't change instrumentation usage of tesla_update_state(), so it will cause breakage!
Print states as decimal integers.
Trivial: whitespace.