Refactor some common instrumentation logic.

This code is required by both callee- and caller-context instrumentation; put it in a common superclass.
Ensure generation of caller-side instrumentation.
Use new common instrumentation in caller context.

This fixes the error spotted by the just-committed test.
Use 'llvm-lit -qv' to run tests.

We can combine the -q (quiet) and -v (verbose) options to quiet the "I'm running X tests; oh, Y of them passed" output but provide a detailed description of test failures (including line numbers that Vim can use to take you straight to the problem CHECK line!).