Emit sensible error messages on intercept failure
Improve intercept tests

- Cleanup counter value semantics by explicitly resetting all counters
  before each test instead of CHECK()ing the accumulated values.  This
  makes it easier to insert new tests.

- Improve some debug messages.

- Test call.set_retval() explicitly and separately from the libc call

- Rename "plt" tests to "libc" because that's what we're actually testing,
  including issues beyond the PLT.

- Use textdomain() to do a basic libc test - this function uses the
  simple 0x55 prologue in both 32b and 64b ABIs.

- Test for gettext() too, as it uses 0x55 in 32b and something more
  complex in 64b.
Implement a new intercept technique for x86_64

which handles the majority of libc functions which do not start with the
push %rbp instruction.