Trivial: spelling error (literally).
Use "=" rather than ":=" for LLVM triple.

Don't try to assign the result of "tesla get-triple" until we're quite certain that "tesla-get-triple" has been built!
More informative error message.

Say what we can't cast *from* as well as *to*.
Only load the TELSA manifest once.

There's no need to keep re-loading and re-loading the TESLA manifest! Taking a more sensible approach requires a little renaming, however, as the identifier "M" collides in places.
Implement more sensible string comparison.

The default string comparison methods (in both std::string and llvm::StringRef) think that "abc" != "abc\0". We disagree.
Add support for instrumenting field assignments.

This doesn't yet implement the event->libtesla bridge for such assignments.
Cleanup: drop some unused constants.