kernel - Correct bug in buf/bio locking work

* Use atomic_swap_int() to test-and-clear the buffer daemon request, and
  tsleep_interlock/tsleep to catch any races.
kernel - Fix lock/delete race in the namecache

* Re-check ncp connectivity and the NCF_DESTROYED flag after
  successfully locking the ncp.
hammer - Remove cache_inval_vp() call

* Remova a call to cache_inval_vp() that no other VFSs use which was
  causing deadlocks against concurrent rm's of hardlinks to the same
  file.

Reported-by: ftigeot
hammer2 - Add assertions, fix a flush race against delete-duplicate

* hammer2_chain_delete_duplicate() does not require a lock on the parent
  chain, nor do we want to require one.  This can result in a race against
  indirect block creation which is trying to D-D chains from an upper chain
  to a lower one.

* Fix the problem by moving the DELETED check in
  hammer2_chain_create_indirect() from before the chain lock to after.

* Minor cleanup of the same routine.

* Add assertions to try to catch any situation where the block table is
  flushed twice, which would cause a later assertion.  Try to catch it
  earlier.
mdocml: bump DragonFly version number
config: improve stale ThinkPad keyboard situation

Neither the DragonFly release nor snapshots accept the builtin keyboard
of a Lenovo T430u (and apparently a couple of others).  FreeBSD as old as
8.3, however, works just fine.  Turns out that the KB_CONF_FAIL_IF_NO_KBD
flag of atkbd(4) still lingers in GENERIC, SOEKRIS and X86_64_GENERIC.

Tested against regressions when hotplugging USB keyboards without a PS/2
keyboard present on an old Athlon64.

We have one panic report by sephe in the kbdsw code, which is triggered
by pressing a key on a previously unresponsive keyboard, but no further
info for debugging at this point.

Force the issue now that the release has been branched.

Backed-by: sephe, swildner