* When the WANT_NETGRAPH7 make variable is set, libnetgraph7 and the
netgraph7 kernel parts instead of their legacy couterparts.
Previously, only the libnetgraph7 build was controled by this variable.
This commit puts the kernel build part under the same variable as well
so that the legacy kernel modules are not overwriten by the new ones.

* xz --force now (de)compresses files that have setuid, setgid,
or sticky bit set and files that have multiple hard links.
The man page had it documented this way already, but the code
had a bug.

* LZMA2 decompressor now correctly accepts LZMA2 streams with no
uncompressed data. Previously it considered them corrupt. The
bug can affect applications that use raw LZMA2 streams. It is
very unlikely to affect .xz files because no compressor creates
.xz files with empty LZMA2 streams. (Empty .xz files are a
different thing than empty LZMA2 streams.)

* "xz --suffix=.foo filename.foo" now refuses to compress the
file due to it already having the suffix .foo. It was already
documented on the man page, but the code lacked the test.

* liblzma fixes:

- A memory leak was fixed.

- lzma_stream_buffer_encode() no longer creates an empty .xz
Block if encoding an empty buffer. Such an empty Block with
LZMA2 data would trigger a bug.

- Validate function arguments better in a few functions. Most
importantly, specifying an unsupported integrity check to
lzma_stream_buffer_encode() no longer creates a corrupt .xz
file. Probably no application tries to do that, so this
shouldn't be a big problem in practice.

This change (taken from LSI in 175660922b2422bdda81a5967c5dadd176fe1c3c)
caused the mfi_config_data structure to change size which ultimately
ended up in the MFI_DCMD_CFG_ADD command failing. Stuff seems to work fine
without it.

Starting with gold 2.22, gold looks for contructors in DT_INIT_ARRAY by
default, but gcc defines them in a .ctors section. Apparently the
presence of crtbegin and crtend with their .init sections are confusing
gold, but not gnu ld.

To combat this, a new option "--no-ctors-in-init-array" was added to
emulate gnu ld behavior of looking for constructors in the .ctors
section provided by gcc. This commit makes this new option the default
behavior on DragonFly's gold.