hammer2 - flush sequencing part 5 - more flush synchronization work

* Get rid of chain->parent, replacing it with chain->above which is a
  pointer to the core common to the possibly multiple parents.  Due
  to the multi-parenting, chain->parent was rather ad-hoc so getting
  rid of makes the code more clear.

* Adjust several APIs which used to take a locked parent of chain to
  instead take the core common to multiple parents of chain.

* Rework how CHAIN_MOVED is cleared.  The code works better but still
  has bugs which can leave chains hanging and unflushed on umount.

* Rework the lastdrop function significantly.

* Continue working on automatic delete/duplicate operation when a
  modification crosses a synchronization boundary.  This code is now
  mostly implemented.

* Continue working on the flush filter which is responsible for
  differentiating modifications made before and after the synchronization
  point.  The filter is now mostly implemented.

* Use spinlock protection on the rbtree, allowing manipulation of children
  without having to lock a specific parent chain (which wouldn't help much
  anyway since there can be more than one parent).

* Fix numerous assertions and panics.
bnx: Use different RX coalesce BDs for polling and interrupt mode

The value set by this commit for polling mode improves tiny packets
forwarding performance by +250Kpps in normal mode and +120Kpps in
fast mode.
Add "SECURITY CONSIDERATIONS" to the mdoc template

Obtained from: FreeBSD
Update dutch calendar

On 30 April 2013 queen Beatrix resigned and crownprince Willem Alexander
became the new king. King's day is on 27 April.

Obtained From: FreeBSD (r250198)
hammer2 - flush sequencing part 6 - stabilization pass

* Fix bug when chains are e.g. delete/duplicated where a flush can occur
  out of order and retire more recent chain structures leaving older
  CHAIN_DELETED structures behind.  This caused the merged chain_find
  and lookup/iteration code to improperly believe a slot was empty when
  in fact the parent's bref array had a valid blockref.

  Fixed by flagging the discrete chain->next_parent linkages with
  CHAIN_IPACTIVE and adding a ref to the chain, which prevents them
  from being retired out of order.  This is currently being done
  unconditionally (and probably has to be done unconditionally).

* Fix bug related to the clearing of SUBMODIFIED during a flush.  Generally
  speaking a flush pass clears SUBMODIFIED if no children were deferred.

  The bug is that higher-level indirect-block chains closer to the root
  are typically only modified during the flush as the deeper chains are
  flushed recursively and rolled up into the parents on the way back up.
  Because of this, these higher-level chains could represent more than one
  flush synchronization point.  When this situation is detected we now
  set SUBMODIFIED here too.

* Consolidate ip->chain adjustments into the hammer2_inode_repoint()
  procedure.  Remove hammer2_inode_put().

* Cleanup some #if 0'd code that I won't be using.
Add option 'dmesg -c' which clears the kernel buffer after it is printed.

Tested by:	swildner
Merge branch 'master' into gsocdrm_jfree