clean up warnings related to variables used only in asserts

Stubs for invariant checks were provided to avoid errors. Also, the invariant
checks in thread.c were moved under DEBUG_ME_HARDER so as to avoid dirtying
the benchmark results under non-NDEBUG.

(Thanks to whomever came up with the sizeof() trick for SDL 2.0: its use here
was lifted nigh verbatim.)
add <ukernel/setjmp.h>, impls

One of the most powerful features of C is the upward-or-within non-local exit
via a function that returns once or twice. This is helpful for e.g. catching
in-kernel faults with the hardware instead of repeated mapdb probing.
add catching of in-kernel faults, segment hack in space_memcpy_from()

This cuts in-VM KernelInterface from 40k cycles to less than 8k, i.e. a fifth
of the previous.

Once copy_stritem() is extended to spot intraspace transfers, this should
speed those up as well in the case where all affected pages are already
mapped; furthermore, the interface could be used to catch in-transfer faults
in one half of an interspace transfer without any probing.