Name the TESLA project at the highest level.
Make tesla_update_state do the forking.

Instead of implicit forking "under the hood" in tesla_match, make tesla_update_state do the forking explicitly; it is the context that has the information we need about what ought to be forked.

This change required some non-trivial surgery, including:
 * changing some locking semantics (caller-locks)
 * moving some expecting-to-be-locked functions to tesla_internal.h
 * adding an explicit automaton instance clone()
 * garbage-collecting struct tesla_iterator