Add stubs for KDB functions.

These are needed for witness.
Add comemnted out witness bits to opt_global.h.
Add new placeholders for witness.

STACK is required for witness.
The linker set code needs to be called with giant held.

The witness code unlocks giant during its init, which actually pisses
off witness if it's not held!
Make witness mostly work under libuinet.

* Make witness not panic the process - it's easily changed by just
  redefining WITNESS_PANIC
* Fix up a case where the code assumes witness would panic - it should
  just fall through.
* Disable the code to handle spinlock checks - the per-cpu and critical
  section stuff on libuinet isn't 100% the same (and I don't think it
  can or should be.)
If UINET_LOCK_DEBUGGING is defined, also flip on the rest of the lock
debugging.
Disable witness checking for the sleep-lock logic used during uio routines.

It's (mostly) not relevant here.
Expose the SMP information via sysctl.
Add in witness and lock logging support to libuinet.

* Extend most of the lock calls to track file:line up to the UHI
  routines..
* .. which can then optionally log as appropriate.
* Optionally support using libunwind to unwind a stack when
  needed - this is used by witness to track the stack state when
  a witness assertion is hit.
* Add witness macro calls to the uinet implementation of locks
* Add a (blank, debug printf) copy of spinlocks - witness at least
  checks that the lock object for spinlocks is real.
Export the lock debug routines.
Add a missing symbol - this is the sysctl listener thread.
Merge pull request #23 from erikarn/adrian_witness

Witness support from Adrian.  There are a few tweaks to this coming soon.