MFC 264242,264244,264259

Fix panic on load new driver while vt(4) is in VGA textmode.
o Mute terminal while vt(4) driver change in progress.
o Reset VDF_TEXTMODE before init new driver.
o Assign default font, if new driver is not in TEXTMODE.
o Do not update screen while driver changing.
o Unmute terminal when done with driver replacement.
o Move init fonts to early point.
o Minor cleanup.
o Do not fill screen, while muted. (kern/subr_terminal.c)

Sponsored by:	The FreeBSD Foundation
MFC various fixes to the tools/regression/ tests.

- r262953 Fix m4 tests so that they run cleanly with prove.
- r262954 Fix printf tests so that they run cleanly with prove.
- r262959 Fix sed tests so that they run cleanly with prove.
- r262960 Fix yacc tests so that they run cleanly with prove.
- r262961 Fix pkill tests so that they run cleanly with prove.
- r262962 Fix ncal tests so that they run cleanly with prove.
- r263081 Fix lastcomm tests under amd64.
- r263082 Only run the make tests when make is fmake.
- r263083 Fix sa tests.
- r263084 Turn a test precondition into a skip in the mdconfig tests.
- r263085 Make the strerror tests work without libtap.
- r263087 Remove broken tests for eui64_line.
- r263221 Change etcupdate tests to return 1 on test failures.
- r263352 Make the priv test program exit with non-zero if any failures are detected.
- r263353 errx prepends the program name to the message; don't do it by hand.
- r263362 Include strings.h so that bpf_filter.c can be built in userland.
MFC r264345:

Amend r263891, by making clang default to DWARF2 debug info format for
all FreeBSD versions, not just 10.x and earlier.  Apparently too many
people seem to have trouble with post-1993 formats.

Also remove the related notes about messing with kernel configuration
files from UPDATING, which are now superfluous.

Requested by:	many
MFC r260866,260900,261960 (3 revisions; summarized below):
260866: Fix a bad comparison operator and fix dumpdev comment
260900: Dummy commit; show r260866 was in-part by Christoph Mallon
261960: Add zfsboot to bsdinstall(8) scripted interface
MFC: r264349

mdoc and spelling cleanup.
MFC: r264362

Remove stray .Nm macro.
MFC r263777: sh: Fix possible memory leaks and double frees with unexpected
SIGINT.
MFC refactoring of the *.test.mk files.

- r263161 Make bsd.test.mk the only public mk fragment for the building of tests.
- r263172 Move FreeBSD Test Suite-specific code to a suite.test.mk file.
- r263204 Add some documentation for bsd.test.mk.
- r263217 Document support for TAP-compliant Perl test programs.

This is "make tinderbox" clean.
MFC: 264016

Silence an unnecessary warning.
MFC r262812

- Gracefully handle truncation failures when trying to shrink directories.
  This could cause dirhash panics since the dirhash state would be
  successfully truncated while the directory was not.

Submitted by:   jeffr
MFC r262814

- If we fail to do a non-blocking acquire of a buf lock while doing a
  waiting sync pass we need to do a blocking acquire and restart.
  Another thread, typically the buf daemon, may have this buf locked and
  if we don't wait we can fail to sync the file.  This lead to a great
  variety of softdep panics because we rely on all dependencies being
  flushed before proceeding in several cases.

Submitted by:	jeffr
MFC r264229

Add some assertions to ensure that the target array doesn't get accessed
out of bounds.
MFC r261558

Add a new sysctl, dev.cxgbe.N.rsrv_noflow, and a companion tunable,
hw.cxgbe.rsrv_noflow.  When set, queue 0 of the port is reserved for
TX packets without a flowid.  The hash value of packets with a flowid
is bumped up by 1.  The intent is to provide a private queue for
link-level packets like LACP that is unlikely to overflow or suffer
deep queue latency.
MFC r263998:

Rename __wchar_t so it no longer conflicts with __wchar_t from clang 3.4
-fms-extensions.
MFC r263986:

- In the libiconv module for ISO 2022 restore the original order of the
  fields of a private struct such that variables of this type are
  initialised correctly.  Fixes conversion from ISO 2022.
  Also do this in the BIG5 module to prevent similar errors in the future.
- In the libiconv module for EUC-TW replace 2^cs with 1<<cs.  Fixes
  conversion from EUC-TW.
- Synchronise iconv code with NetBSD.  In most cases this only updates
  the RCS id because the changes are already there or are NetBSD specific.
  + libc/iconv/citrus_csmapper.c: Add a comment.
  + libc/iconv/citrus_db_factory.c: Remove put16().
  + libc/iconv/citrus_iconv.c: Return EINVAL on error.
  + libc/iconv/citrus_mapper.c: Return EINVAL on error.
  + libc/iconv/citrus_memstream.c: Fix type of a variable.
  + libc/iconv/citrus_prop.h: Sync definition of _CITRUS_PROP_HINT_END.
  + libc/iconv/citrus_stdenc.c: Return EINVAL on error.
  + libiconv_modules/mapper_std/citrus_mapper_std.c: Plug memory leak.

Obtained from:	NetBSD
MFC r264420:

  Always install pkg.conf. Don't depend on MK_PKGBOOTSTRAP.
MFC r264354

Fix insta-panic on assert of unlocked periph mtx in ciss(4) when
logical volume state changes.

Sponsored by:	Yahoo! Inc.
MFC r263846: sh: Fix memory leak when trying to set a read only variable.
MFC r263847: sh: Fix memory leak with an assignment before a regular builtin
MFC r264295:
Remove support of LUN-based CD changers from cd(4) driver.

This code was heavily broken few months ago during CAM locking changes.
Fixing it would require almost complete rewrite.  Since there are no
known devices on market using this interface younger then ~15 years, and
they are CD, not even DVD, I don't see much reason to rewrite it.

This change does not mean those devices won't work.  They will just work
slower due to inefficient disks load/unload schedule if several LUNs
accessed same time.