Fix up some include guards (and checks) in our header files.
btx: Add FreeBSD's r256293 (fixes boot on Jetway NF81 mobo with RAID enabled).

FreeBSD's commit msg:

Sanitize the %eflags returned by BIOS routines.  Some BIOS routines enter
protected mode and may leave protected-mode-specific flags like PSL_NT set
when they return to real mode.  This can cause a fault when BTX re-enters
protected mode after the BIOS mode returns.

Reported-by: Julian Pidancet <julian.pidancet@gmail.com>
Taken-from:  FreeBSD
bsd-family-tree: Sync with FreeBSD.
kernel - Fix spin_lock_shared() race

* Fix a serious bug in the shared spinlock code.  There are numerous races.
  The main problem is that the spin_lock_shared*() inlines set the
  SPINLOCK_SHARED bit based on a non-atomic test, assuming that the previous
  atomic operation guarded the test:

      atomic_add_int(&spin->counta, 1);
      if (spin->counta == 1)
	    atomic_set_int(&spin->counta, SPINLOCK_SHARED);

  However, this can race an exclusive spin lock in another thread inbetween
  the conditional and the atomic_set_int().  The exclusive spinlock code
  would have seen contention, but then does this:

	atomic_clear_int(&spin->counta, SPINLOCK_SHARED);
	atomic_add_int(&spin->counta, SPINLOCK_EXCLWAIT - 1);
	...

  The exclusive spinlock code then assumes that the shared spinlock code
  can no longer set SPINLOCK_SHARED.  However, if this occurs just after
  the shared spinlock code's if (spin->counta == 1) but before it atomically
  sets the SHARED bit, we wind up in a situation where the exclusive spinlock
  code completes its operation and leaves the SHARED bit set.

  In other words, the code which believes it has sucessfully obtained an
  exclusive spinlock actually winds up getting a shared spinlock.  Oops!

* Fixed by guarding the shared lock conditional and atomic op and changing
  the way shared lock contention is handled.

* Case was only reproducable on monster, probably due to massive shared
  spinlock use in the pmap code on 48 cpu cores all fork/exec'ing /bin/sh
  at the same time.
kernel - improve pv_hold()

* pv_hold() can just use an atomic_add_int() here.
ppp(8): Fix a logic error.

MPPE only accepts protocol numbers 0x21 through 0xfa.

Confirmed-by: FreeBSD
Remove formatted manual pages too via 'make upgrade'.
ps - Allow a pid specification in combination with -R

* e.g. 'ps R23434' will output the specified process plus also output
  all children (recursively) of that process.
libc/nftw: Bring in some fixes from FreeBSD.

* Silently skip directories causing loops (instead of erroring with ELOOP).

* Refresh OpenBSD CVS IDs.

* Don't check maxfds against OPEN_MAX.
kernel/hammer2: Remove two unused malloc types, W_BIOQUEUE and W_MTX.
make upgrade: Do no longer remove multibyte.3
make upgrade: Clean up after the "locale megapatch".
kernel - Fix panic in sysctl_kern_proc()

* sysctl_kern_proc() loops through ncpus and moves the thread to each cpu
  in turn in order to access its local thread list.

* Fix a panic where the function does not return on the same cpu it was
  called on.  The userland scheduler expects threads to return to usermode
  on the same cpu they left usermode on and is responsible for moving the
  thread to another cpu (for userland scheduling purposes) itself.
kernel - namecache clock performance improvement

* Fix a bug in _cache_lock_shared_special() which could cause a shared
  lock to improperly fall-back to an exclusive lock.  This could result
  in a cascade which regressed all namecache locks on the ncp in question
  to also fall-back.
kernel - Use shared spinlock for namecache hash

* Use a shared spinlock when doing lookups in the namecache hash table.
  This wasn't showing up in the contention statistics but it's an issue.

* Use a shared spinlock for the vnode v_spin when scanning v_namecache,
  when possible.
kernel - Add sysctl kern.random

* Add a sysctl kern.random which returns random data.  This can be used
  when /dev/random is not available (e.g. a chroot and no /dev mounted in
  the chroot).
libc - Fix bugs in arc4random, improve arc4random() and srandomdev()

* Fix a bug where arc4random() was not using the entire 128 bytes of random
  data it had read from /dev/random.

* Increase the amount of state incorporated by arc4random_stir()
  from 128 to 256 bytes.

* Fix an important issue with both srandomdev() and arc4random().  When
  /dev/random is not available these functions now back-off to the new
  kern.random sysctl to obtain random data.

  This allows these functions to work in chroot's that might not have
  /dev mounted.

* Do not try to incorporate random stack data.  This is stupid, the stack
  data is not random.
vga_pci: Allocate resource method requires resource owner CPUID
vga_pci: Fix cached resources cleanup and setup driver's softc size

- The cached resource was not cleanup even if the underlying resource was
  freed.  Now, if the cached resource reference count drops to zero, the
  underlying resource is freed and the cached resource is cleared.
  Submitted-by: dillon@
- The driver uses softc, so the softc size in the driver_t needs to be
  setup properly.
Update the pciconf(8) database.

October 11, 2013 snapshot from http://pciids.sourceforge.net/