hammer2 - cluster API, preliminary implementation of multi-chain updates

* Separate out read-only from read-write access to cluster data.

* Implement hammer2_cluster_modsync() and call in appropriate places.

* Clean up some media inode fields not currently in-use.
hammer2 - skeleton multi target mount detection

* Detect H2 filesystems with the same cluster id and add to an existing
  mount's cluster instead of mounting separately.

* Very preliminary, not operational.  Transactions, flush, and volume
  management need to be rewritten.
newfs_hammer2 - add -R uuid and -I uuid

* Allow the super-root (-R) cluster id and the labeled PFS's cluster id
  to be specified.

* Populate the cluster id in the inode data.
mount_hammer2 - Check ERANGE for mount integration result

* For now  the H2 vfs code returns ERANGE when mounting multiple
  elements of a cluster, report it as an integration instead of
  as an error.
in6_pcbbind: Rearrange local port bind/select code path.

Mainly group local port binding logic together.  This paves way for the
upcoming port token splitting.

Tested-by: ftigeot@
kernel/802_11: Fix panic when the desired ratectl algorithm is unavailable.

Set the default to NONE. When a driver calls ieee80211_ratectl_init(), try
to use AMRR etc. if NONE is selected. Drivers may still select other
algorithms using ieee80211_ratectl_set() prior to calling _init().

Due to our broken ieee80211_load_module(), we do not currently autoload
the desired ratectl algorithm like FreeBSD does. Instead, a message about
manually loading the module will be printed (see ieee80211_dragonfly.c).

Reported-by: profmakx
Taken-from:  FreeBSD
usb4bsd: Sync the run(4) driver with FreeBSD.

This adds support for a number of new chipsets/adapters (see the
manual page for a list).

Thanks to Markus Pfeiffer for testing with a RT5370 based adapter.

Taken-from: FreeBSD
ext2fs - Attempt to fix a panic on VOP_CLOSE

Follows-up commit 12cdc371fb859682eda7d1c26c5059920a7cf118
libc: Remove a useless assignment.
inpcb: Group port related fields into inpcbportinfo

Prepare for port token splitting.
netstat - Replace a couple malloc calls.

- Use calloc to ensure memory is zeroed.
Fix kernel build.
inpcb: Use a special version of in_pcbinsporthash() on TCP accept path

It holds the port token for in_pcbinsporthash().  Assert that the port
token is held in in_pcbinsport() now.
kernel/i386: Remove CPU_ENABLE_TCC traces.
Sync zoneinfo database with tzdata2014b from ftp://ftp.iana.org/tz/releases

* africa: Morocco's 2014 DST start will be as predicted. (Thanks to
    Sebastien Willemijns.)

* australasia: Add comments about Johnston Island time in the 1960s.
    (Thanks to Lyle McElhaney.)

* antarctica: New entry for Troll station, Antarctica. (Thanks to
    Paul-Inge Flakstad and Bengt-Inge Larsson.) This is currently an
    approximation; a better version will require zic and localtime
    fixes. Also the NZAQ rules - which are never used - have been
    removed.

* europe: Crimea switches to Moscow time on 2014-03-30 at 02:00 local
    time. (Thanks to Alexander Krivenyshev.)
    Move its zone.tab entry from UA to RU.
Fix the usbd rc script a bit better.

Most importantly, take care about the case where usb isn't in the
kernel config.

Reported-by: lhmwzy on users@
kernel/acpi: Improve the errors which AcpiOsTableOverride() returns.

While here, use ACPI_COMPARE_NAME() and ACPI_SIG_DSDT.
<sys/hash.h>: Fix wrong header guard.
kernel/acpi_fujitsu: Doh, fix a copy/paste error I did in my last upgrade.
kernel/cpu_topology: Fix a casting issue in the topology tree printing.

compute_unit_id is uint8_t so it's actually 0xff we want to check for.
Before this commit, the "... != -1" checks were always true.