Let Automaton describe its init, cleanup events.

Calling Automaton::Init() or Automaton::Cleanup() on an automaton that isn't used this way will cause assertion failures.
Actually *use* the 'Name' parameter.

This is why some of our generated global variables lacked names...
Trivial: whitespace.
Make ConstructTransition[s], etc. internal.

These functions are no longer called from external code: they're only used when constructing a tesla_automaton.
IntPtrType() can also be internal.
Make TeslaContext internal.
Make Cast() internal.
We don't actually use this function any more!

Adding the 'static' keyword revealed that this function isn't actually used.
Cleanup: no need for 'llvm::' here.

This is why we have 'using namespace llvm' above.
A liberal application of the 'static' keyword.