MFC r270666
  Back in the days when the kernel was single threaded, testing
  "vm_paging_target() > 0" was a reasonable way of determining if the
  inactive queue scan met its target.  However, now that other threads
  can be allocating pages while the inactive queue scan is running, it's
  an unreliable method.  The effect of it being unreliable is that we
  can start swapping out processes when we didn't intend to.

  This issue has existed since the kernel was multithreaded, but the
  changes to the inactive queue target in 10.0-RELEASE have made its
  effects visible.

  This change introduces a more direct method for determining if the
  inactive queue scan met its target that is not affected by the actions
  of other threads.
This is a direct commit to account for the renaming of 'cnt' to 'vm_cnt'
in HEAD but not stable/10.
MFC r270189:

Add zdb into rescue environment.

On amd64, this would increase the binary size by 1.1MiB and
make it possible to examine zpool status offline, useful for
recovery and diagnostic purposes.

Submitted by:	sef
Obtained from:	FreeNAS
MFC r270239: MFV r270193:

Illumos issues:
    5042 stop using deprecated atomic functions
MFC r270247: MFV r270195:

Illumos issue:
    5045 use atomic_{inc,dec}_* instead of atomic_add_*
MFC r270248: MFV r270196:

Illumos issue:
    5047 don't use atomic_*_nv if you discard the return value
MFC r270260:

Provide compatibility shim for atomic_dec_64_nv.
MFC r270661:
  Remove leading '/' from hardlink name when removing them from the
  regular file name. This fixes the problem, when bsdtar can not create
  hardlinks to extracted files.
MFC r270691:
Fix handling of the third argument for fcntl(2).  The native syscall
uses long for arg, which needs translation.
Regen.
Merge remote-tracking branch 'freebsd/stable/10' into hardened/10/aslr