Add __inlines to get rid of automaton warnings.

This fixes warnings we get when using explicit automata with strict warnings.
Handle enum values.

We missed out on the possibility of a ValueDecl being an enum value, so we were incorrectly conflating it with a variable!
More assertions on RegisterArg() parameter.

RegisterArg() should only be called with the kind of Arguments that we can register: variables, fields and indirections (not constants or ANY).