Allow vmm stats to be specific to the underlying hardware assist technology.
This can be done by using the new macros VMM_STAT_INTEL() and VMM_STAT_AMD().
Statistic counters that are common across the two are defined using VMM_STAT().

Suggested by:	Anish Gupta
Discussed with:	grehan
Obtained from:	NetApp
Add a note to the HISTORY section about lchflags(2) being introduced in
FreeBSD 5.0.
Fix the '-Wtautological-compare' warning emitted by clang for comparing the
unsigned enum type with a negative value.

Obtained from:	NetApp
Add a couple of examples.

Obtained from:	OpenBSD
The mode argument for open(2)/openat(2) only makes sense if the O_CREAT flag
was given.

Sponsored by:	The FreeBSD Foundation
Add __aeabi_memset to libkern, implemented using memset, as clang may
generate calls to it.
Update the tests now that absence of the O_APPEND flag requires CAP_SEEK
capability. Add some more tests.

Sponsored by:	The FreeBSD Foundation
Require CAP_SEEK if both O_APPEND and O_TRUNC flags are absent.

In other words we don't require CAP_SEEK if either O_APPEND or O_TRUNC flag is
given, because O_APPEND doesn't allow to overwrite existing data and O_TRUNC
requires CAP_FTRUNCATE already.

Sponsored by:	The FreeBSD Foundation
The -mno-apcs-frame argument is unavaliable on clang, also ignore it there.
Link libgcc_s against compiler-rt on ARM EABI. This allows us to use all of
the symbols in compiler-rt, including the ones not available in the old
libgcc. This fixes the build with clang which generates calls to funstions
that are missing from libgcc_s.
Add a macro that gets the physical address of a memory mapped device
register from a bus space resource.

Note that this macro is just for ARM, and is intended to have a short
lifespan.  The DMA engines in some SoCs need the physical address of a
memory-mapped device register as one of the arguments for the transfer.
Several scattered ad-hoc solutions have been converted to use this macro,
which now also serves to mark the places where a more complete fix needs
to be applied (after that fix has been designed).
In the uart module build ofw_bus_if.h on arm along with sparc64 as LINT
fails when built locally without it.
Move example to EXAMPLES.
Move example to EXAMPLES.
Remove EOL whitespace accidentally introduced in r248393.
Fix a typo in a comment.
In m_megapullup() instead of reserving some space at the end of packet,
m_align() it, reserving space to prepend data.

Reviewed by:	mav
Add MEXT_ALIGN() macro, similar to M_ALIGN() and MH_ALIGN(), but for
mbufs with external buffer.
In m_align() add assertions that mbuf is virgin, similar to assertions
in M_ALIGN(), MH_ALIGN, MEXT_ALIGN() macros.
libzfs_core:
  - provide complete backwards compatibility (old utility, new kernel)
  - add zfs_cmd_t compatibility mapping in both directions
  - determine ioctl address in zfs_ioctl_compat.c