testbench: add "spin" option to send_delay()

This causes the wait to happen with usleep() rather than L4_Sleep().
testbench: self: test usleep() against L4_SystemClock()
ipc: set wakeup in passive-send xfer fault flow

That's to say:
  - xfer fault sender A sends fault to pager B
  - pager B is busy, A goes into SEND_WAIT
  - B picks up on active receive, A goes to R_RECV
  - B's quantum runs out
  - scheduler calls ipc_recv_half() on A to resolve R_RECV
 => boom, passive receive in an ongoing string transfer.

The problem this changeset fixes is that this case wasn't documented in
comment, and that the thread would sleep for recv_timeout from the call to
ipc_recv_half() instead of until ipc->xferto_at. (the recv_timeout thing is
also wrong: it should be applied from the transition to R_RECV, not from when
it's resolved by the scheduler.)
testbench: string: clear replybuf when !do_unmap_recv

This changes the meaning of that parameter to something stricter, but
whatever.
testbench: record panics with the newer interface

Oops. One thing that Moose doesn't report is parameters that don't match an
attribute, at least not with the current metadata.
ipc: define ipc_{send,recv}_half() better, adjust implementation

Also, two new FIXMEs for things spotted in review.