Drop some verbose logging from Makefile.

This stuff was getting too big to output this way; better to do a targeted less or diff.
Lots of Makefile cleanup.

Create a tesla.mk that can be included by other makefiles and illustrate exactly what needs to be done by TESLA consumers who want to include tesla.mk.
Pass the correct variable!
Prefix all TESLA error messages with "TESLA:".
Provide more error context information.
Move ExprEvents() to end of file.

We're going to want to use it elsewhere, so do the proper declaration + definition thing.

Annoyingly, it shows up in the diff as moving the tesla::Manifest::Events() definition rather than tesla::ExprEvents().
Drop a no-longer-needed makefile hack.

The TESLA analyser no longer produces an output file on error, so we don't need to do 'rm -f' in the failure case.
Extract ParseFieldAssign into Struct.cpp.

We're going to add other struct-related code, so let's make a place for it all to go.
Provide more Parse[foo](Event*, ...) functions.

Let ParseExpression(), ParseFunctionCall(), etc. set Event.type appropriately, rather than doing it in the caller.

This is helpful to some of the new (yet-to-be-committed) struct code.
Trivial: drop some debug output.

This P->dump() snuck into a previous commit somehow.
Add some more centrally-defined names for things.

Reduce the number of string constants scattered around the code.

It would be nice to pull this out of tesla.h with preprocessor tricks, but tesla.h uses variadic macros, a C99 trick that C++ doesn't like. Unless maybe we move to C++11 for TESLA?
Put braces around a protected scope.
Add a null Expression to represent "nothing".

For instance, we will implement optional events with (null || the_optional_thing).
Use the automaton macro to declare automata.

We may freely redefine automata descriptions in the future. For instance, they won't return 'int' forever.
Move __tesla_automaton_done() inside guards.

This isn't required outside of __TESLA_ANALYSIS__.
Return __tesla_event* from many predicates.

Rather than __tesla_event, return __tesla_event* so that we can use e.g. logical OR on them.
Create an "automaton description" type.
tcp_free() is a function, not an automaton.
Some poor man's dependency tracking.
More debugging output in tesla_update_state().

If we're printing out a ton of output, include the address of the store we're using.