MFC r249807,249893

  Fix installkernel requiring users/groups defined in CHECK_UIDS
  and CHECK_GIDS to exist since r152680. This is only needed for
  installworld. The documented procedure of running mergemaster -p
  to check for missing users is only needed for installworld, not
  for installkernel. This fixes auditdistd incorrectly being
  required for installkernel.

PR:		misc/174405
MFC r249952:

  Fix examples for overriding INSTALL to not suggest hardcoding
  'install' since it breaks buildworld after the introduction and
  use of 'install -l' in r245752. Overriding INSTALL causes
  /usr/bin/install to be used instead of the proper
  /usr/src/tools/install.sh which handles the new flag.
MFC: sync the version of netmap with the one in HEAD, including device
drivers (mostly simplifying the code in the interrupt handlers).

On passing, also merge r250414, which is related to netmap
and the use of lem/em in virtual machines.
MFC r249951

According to devctl(4), clients must read events whole; they may not piece them
together from multiple reads().  It's as if /dev/devctl is a datagram device
instead of a stream device.  However, devd's internal buffer was too small
(1025 bytes) to read an entire ereport.fs.zfs.checksum event (variable, up to
~1300 bytes).  This commit enlarges the buffer to 8k.

Approved by:	ken (mentor)
MFC r248776:
  Fix interval-based rotations when the -t flag is used. In this case, find
  the most-recently archived logfile and use its mtime to determine whether
  or not to rotate, as in the non-timestamped case.

  Previously we would just try to use the mtime of <logfile>.0, which always
  results in a rotation since it generally doesn't exist in the -t case.

Approved by:	emaste
MFC r248851:
  Ignore interface renames instead of removing the interface from the bridge
  group.

Approved by:	emaste
MFC r249257:
  Add support for getting and setting BBU properties related to battery
  relearning. Specifically, add subcommands to mfiutil(8) which allow the
  user to set the BBU and autolearn modes when the firmware supports it,
  and add a subcommand which kicks off a battery relearn.

MFC r249258:
  Switch to a 2-clause license.
MFC	r248983:
Dtrace: enablings on defunct providers prevent providers from unregistering

Merge change from illumos:

1368 enablings on defunct providers prevent providers from unregistering

Illumos Revision:	13430:8e6add739e38

Reference:
https://www.illumos.org/issues/1368

Reviewed by:	gnn
Tested by:	Fabian Keil
Obtained from:	Illumos
MFC	r249526:
DTrace: print() should try to resolve function pointers

Merge changes from illumos:

3675 DTrace print() should try to resolve function pointers
3676 dt_print_enum hardcodes a value of zero

Illumos Revision:	b1fa6326238973aeaf12c34fcda75985b6c06be1

Reference:
https://www.illumos.org/issues/3675
https://www.illumos.org/issues/3676

Obtained from:	Illumos
MFC	r249526, r249600:
DTrace: NFS translators should be split into client/server pieces

Merge change from illumos:

1731 DTrace NFS translators should be split into client/server pieces

Include Changes from OpenSolaris:
PSARC 2008/050 DTrace NFS v3 Provider
6696397 NFS v3 provider reports all UDP clients as 0.0.0.0
6711844 assert: vp-->v_shrlocks

Illumos Revision:	13523:6763769941d2

This code seems to be currently unused on FreeBSD.

Reference:
https://www.illumos.org/issues/1731

Obtained from:	Illumos
Fix the build: 'valid' is no longer used.
MFC r244123 Add CTLFLAG_RWTUN define
MFC r247367 Fix non-recusive mutex MFI I/O lock
MFC r247369 Fix a large amount of bugs in MFI that cause panics

Approved by:	pjd (mentor)
MFC r250185:
Add IDs for HighPoint RocketRAID 640L/642L/644L -- new series of 4-port
6Gbps PCIe 2.0 x2 SATA controllers, based on Marvell 88SE9235 chips.
MFC r249352:
Do not sent 120 TEST UNIT READY requests on generic NOT READY statuses.

Some failing disks tend to return vendor-specific ASC/ASCQ codes with
NOT READY sense key.  It caused extremely long recovery attempts, repeating
these 120 TURs (it takes at least 1 minute) for every I/O request.
Instead of that use default error handling, doing just few retries.
MFC r250230: libkvm: Use O_CLOEXEC instead of separate fcntl(F_SETFD) call.
MFC r250231: libkvm: Make second /dev/null file descriptor close-on-exec as
well.
MFC r246487 (by theraven):

  Import new libc++ to head.  Various small fixes and cleanups.

MFC r249998:

  Merge libc++ trunk r180598.  Contains several minor cleanups and bug
  fixes, no major changes.
MFC r250392:

For some reason, the gcc intrinsics header tmmintrin.h was imported with
two copies of itself pasted together.  Remove the extraneous copy.
MFC r250240:

- Fix exit status when ip6addrctl_verbose=yes [*]
- Use the absolute pathname for ip6addrctl.
- Use "install" instead of "add" to reduce the number of invocations.

Reported by:	Tatsuki Makino [*]
PR:		conf/175006 [*]
Pull in r178240 from upstream llvm trunk:

  Section 24.2.2 of the C++ standard, [iterator.iterators], Table 106
  requires that the return type of *r for all iterators r be reference,
  where reference is defined in [iterator.requirements.general]/p11 as
  iterator_traits<X>::reference, and X is the type of r.

  But in CFG.h, the dereference operator of PredIterator and
  SuccIterator return pointer, not reference.

  Furthermore the nested type reference is value_type&, which is not
  the type returned from operator*().

  This patch simply makes the iterator::reference type value_type*,
  which is what the operator*() returns, and then re-lables the return
  type as reference.

  From a functionality point of view, the only difference is that the
  nested reference type is now value_type* instead of value_type&.

This enables building clang 3.2 with the newer version of libc++ that
was merged in r250514 (and which has stricter iterator requirements for
the vector member templates).

This is a direct commit to stable/9, since head has a complete import of
llvm/clang trunk, and there is no single commit to merge.