Fix comment
Fix broken code keeping track of nested runloops

Since runloops can be exited via longjmp, and RAII+setjmp is not portable (f.e.
Visual C++ supports it, GCC does not), use Perl XCPT_* macros to handle the
in-tracing-runloop flag.

This loses the check in switch_runloop(), which was only partial anyway, since
only the tracing runloop kept track of runloop levels, and switching from
non-tracing to tracing runloop inside an inner runloop causes the same set of
issues.
No need to use gettid(), especially since it's not portable
Skip shardedkv benchmark when ShardedKV is not installed