testbench: handle pagefaults in the send_page flow

The problem was that instead of SEND_PAGE_2, we'd get a pagefault. The
solution is to set the µIDL context tag, then call handle_pf(); that
function's raising of muidl::NoReply won't be respected, of course, but it
shouldn't matter anyway.
lib: add strstr(3)

There's no strrstr(), oddly enough. A rindex(3) does exist, but its naming
convention is vile so out it stays.
thread: deletion idempotence, better SpaceSpecifier validation

The former means that a L4_nilthread SpaceSpecifier will always return as
though it had deleted a thread if one didn't exist.

The latter is a change from L4_Version(spacespec) == 0 to
L4_IsLocalId(spacespec), which is obviously correct.

Some trace statements were also removed, and the spacespec == dest_tid check
was moved within the block that calls space_new() .
test: thread: add SpaceSpecifier test

This goes beyond mere validity so the test should be renamed. (there's also an
unrelated use of NUM_ELEMENTS() instead of a bare sizeof-and-division clause.)
test: thread: add deletion test

The "basic" test should be renamed to something that looks like it tests
placement of the UTCB and KIP areas.
thread: address deletion target by ThreadNo only
test: thread: add self-tests for {thr,as}_exists()

thr_exists() could try to set the thread ID as another thread's scheduler.
That, too, returns an error when the ID isn't valid.
test: move implied implications into test.h

And the same for iff_ok1(). A TODO for the as_exists() self-test was also
removed.