Reword assertion instrumentation.

Generate an instrumentation function that takes arguments of the same type as the in-scope variables. This allows us to generate the Value->tesla_key code in the same way as elsewhere and, just as importantly, to do a sanity check on the types when manually inspecting .instr.ll files.

This will help in the implementation of field-indirection stuff.
Trivial: fix whitespace.
Implement struct-field indirection.

Now that the infrastructure is in place, the actual implementation is pretty trivial.