hammer2 - freemap part 1 - initial block allocator and media support

* Freemap document (FREEMAP in this directory)

* temporarily turn off clustering until the freemap gets that capability
  (mixed buffer sizes can be adjacent atm).

* Remove the freemap_blockref[1] from the volume header and replace it
  with a blockset array (8 blockrefs).

* Implement dynamic creation of freemap nodes and leafs on an as-needed
  basis using the normal indirect block creation code.  Most of the standard
  file handling code is reused for the freemap support.

* Major cleanup of hammer2_chain.c, the duplication code, the indirect
  block creation and handling, and the chain->flag handling.
lvm: Fix two wrong array indexes.

Both files are not used by us. Just in case someone wants to play with
them.
hammer2 - freemap part 2 - cleanup & performance pass

* Increase minimum I/O from 1K to 16K (HAMMER2_LBUFSIZE).

* Adjust some use cases, increasing the smallest indirect block to the
  minimum IO size 4K->16K.

* The BREF_TYPE_FREEMAP_LEAF bitmap is now embedded in the chain, allowing
  us to use the 256 byte bitmaps more safely.  As with inodes, a read-in
  involves using a larger buffer-cache buffer and then copying the data
  into the chain.

* Avoid unnecessary reads from disk when allocating blocks that are less
  than the minimum IO size.  If it is determined that the bitmap bits
  covering the minimum IO size are 0 (unallocated), we pre-validate the
  larger buffer cache buffer so the later bread() does not have to issue
  any actual reads.

  Pre-validation for allocations larger than or equal to the minimum IO
  size is already handled in the chain locking code.

  With this change, a cpdup into H2 will issue mostly writes and is able
  to avoid nearly all reads.

* Make some progress formalizing chain-embedded data.
bmake: Fix wildcard srcs for phony targets

Bug fix created by Simon G. at BSDcan 2013 when Baptiste mentioned the
incompatiblity with legacy make seen during adding support to ports for
bmake.  There is no impaet for world/kernel builds.

Taken-from: FreeBSD SVN 250773 (18 May 2013)
Merge branch 'master' into gsocdrm_github
bsd-family-tree: Sync with FreeBSD.
Use '#!/usr/bin/env' to find perl in some scripts.
msk: Disable MSI by default.

For certain chips, enabling it will cause watchdog timeout and the chip
may not be able to work again w/o rebooting.

Reported-by: ferz
Remove /usr/pkg/xorg/... and /usr/X11R6/... from various paths/manpages.
installer: Remove pnpinfo configuration option.

pnpinfo(8) is i386 only. Also, it's easy enough to review it by logging
in as root.

Suggested-by: ftigeot
setkey(8): Use '#!/usr/bin/env' to find perl in a script.
syncache: Avoid NULL accessing to tcpcb of the to-be-dropped syncache

It is possible that the syncache tcpcb is NULL when overflow happens,
e.g. the corresponding listen socket was closed but the timeout has
not recollected the staled syncache yet.
syncache: Avoid unnecessary tcpcb checking during syncache dropping
kernel -- x86_64: Do not set reserved bits in CR3.

The x86-64 platform code was setting PG_V, PG_U, and PG_RW bits in the
CR3 register. While the bits were supposed to cleared, Intel and AMD
hardware were ignoring them. Other x86-64 implementations, in
particular the software emulator in Linux's KVM, do check that these
reserved bits are zero.

Fixes issue running DragonFly x86_64 on KVM hosts without
two-dimensional (nested) paging.

Tested on a variety of real hardware (AMD FX(tm)-8150, c2q 6600, others)
and VM configurations (KVM on Intel/AMD hosts, Xen).

Committing-on-behalf-of: Venkatesh Srinivas <vsrinivas@ops101.org>
Reported-by: aggelos@, c.turner1, others.
Testing-by: aggelos@, swildner@, mneumann@, ftigeot@, profmakx@, Enjolras
Bug: 2561
whereis(1): Search /usr/dports too.
ixgbe: On transmit path, prepend the unconsumed mbuf to the if_snd

DragonFly-bug: http://bugs.dragonflybsd.org/issues/2563
kernel: Add CLOCK_PROCESS_CPUTIME_ID
kernel: Add CLOCK_PROCESS_CPUTIME_ID (part 2)
sili(4): Maximum I/O size is 256KB
Merge branch 'master' into gsocdrm_alter