testbench: make IDL handling a bit more plug-and-play

I.e. now it's possible just to drop a foo-suite.idl into user/testbench/idl/
and expect it to get linked properly without having to add more than a single
header dependency to the foo-deps.h output.

So not really plug and play. Let's say it's less nasty.
testbench: add common.idl

This moves the send_quit() stub into muidl's domain.
testbench: add support for external IDL fixtures

This changeset also converts pg_drop to one, and uses it in string_suite.
add acceptors, msgtag accessors to <l4/message.h>
test: string: add a pair of compound string tests

In terms of the zero-one-infinity rule, the string test suite now does "zero"
and "one" compound strings for the sender. Next up is the same for the
receiver, and then the "multiple items" case.
ipc: fix stritem_next() in next compound string header case

Lesson learned: it's not a bad idea to test primitives like this separately.
ipc: fix string item scanning

Both sender and receiver. It's only the simple string item that has
(hdr & 0x3f8) == 0 .
ipc: fix copy_interspace_stritem()'s substring handling

Oops. Apparently it did need the s_off/d_off distinction.
test: string: add basic compound receive buffer tests

One has just a single header, and the other has a bunch. This exposes a bug in
scan_buffer_regs() where substrings are counted incorrectly when the string
header isn't a compound string.
ipc: fix substring calculation in receive buffer scan