Update fuse_kernel header.

Bring in the changes from the FUSE kernel interface 7.10
(available under a BSD license).

After 7.10 the linux FUSE developers added support for a
controversial CUSE driver and some linux especific
features that are unlikely to find its way into FreeBSD.

We currently don't implement any of the new features so we
are *not* bumping the FUSE_KERNEL_MINOR_VERSION. The header
should, nevertheless, serve  as a template to add the new
features in a compatible manner.

While here adopt some minor cleanups from the upstream version
like removing FUSE_MAJOR and FUSE_MINOR which were never
used. Also add multiple inclusion header guards,
PR: 168520 170096
Submitted by: adrian, zec

Fix multiple kernel panics when VIMAGE is enabled in the kernel.
These fixes are based on patches submitted by Adrian Chadd and Marko Zec.

(1)  Set curthread->td_vnet to vnet0 in device_probe_and_attach() just before calling
     device_attach().  This fixes multiple VIMAGE related kernel panics
     when trying to attach Bluetooth or USB Ethernet devices because
     curthread->td_vnet is NULL.

(2)  Set curthread->td_vnet in if_detach().  This fixes kernel panics when detaching networking
     interfaces, especially USB Ethernet devices.

(3)  Use VNET_DOMAIN_SET() in ng_btsocket.c

(4)  In ng_unref_node() set curthread->td_vnet.  This fixes kernel panics
     when detaching Netgraph nodes.
PR: kern/168520

Revert GRN 253255.  It is not needed now that GRN 253346 is committed.
Document options for .eli devices.

Submitted by:	ADAM David Alan Martin
Fix compiler warnings.
Introduce new structure sfstat for collecting sendfile's statistics
and remove corresponding fields from struct mbstat. Use PCPU counters
and SFSTAT_INC() macro for update these statistics.

Discussed with:	glebius
MFi386: add ddb "show sysregs" command.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Move the Raspberry Pi low level options out of the kernel config and into
std.rpi + std.bcm2835.

Reviewed by:	imp
When stopping pfsync, remove the pfsync interface's syncpeer setting.

MFC after:	3 days
Nuke "systat -mbuf". It was broken since FreeBSD 5, and since there
haven't been any complaints, no one used it.
Nuke mbstat. It wasn't used for mbuf statistics since FreeBSD 5.

Now that r253351 moved sendfile() stats to a separate struct, the
last field used in mbstat is m_mcfail, which is updated, but never
read or obtained from userland.
Add IBM ServeRAID M5110 to the hardware list.
This is a rebranded MegaRAID SAS 2208 [Thunderbolt] found e.g. on x3550 M4.

Reported by:	Ilia Noskov <noskov@nic.ru>
MFC after:	3 days
Include sys/systm.h after sys/param.h.

Suggested by:	pluknet
Fix an argument reversal in calls to scsi_read_element_status().

Reported by:	Ulrich Spoerlein <uqs@FreeBSD.org>
MFC after:	3 days
Make some improvements to r253322 to really rescan target, not a bus.
Add there and in two more places checks for NULL on xpt_alloc_ccb_nowait().
Add -n flag for compatibility with Linux version of mount(8).

Reviewed by: freebsd-fs, eadler, mckusick, jh, wblock
Silent warnings.
Add urtwnfw.
libc: name passed into __setenv is not necessarily NUL-terminated

That's particularly true when __setenv is called from __merge_environ.

MFC after:	4 days
Add missing header needed by sleep(3).