altq: Don't use poll cache

The poll/dequeue model is no longer applicable to SMP system, e.g.

   CPU-A            CPU-B
     :                :
   poll               :
     :              poll
   dequeue (+)        :

The dequeue at (+) will hit the poll cache set by CPU-B.

Reported-by: pavalos@
libc: Add strchrnul(), a glibc extension

* This function behaves like strchr() but returns a pointer to the
  terminating \0 byte of the string instead of NULL if the character
  was not found

* It was first implemented in glibc-2.1.1

Obtained-from: FreeBSD
kernel - Attempt to fix SMP races with ^T

* The ^T (ttyinfo()) code was still using critical-sections to protect
  its probe.  This no longer works.  Replace with appropriate hold's and
  tokens.

Reported-by: marino
kernel - Fix at least one 64-bit ddb backtrace issue

* Fix DDB support functions which were overflowing a 4-byte buffer when
  reading and writing 8-byte values.

Reported-by: tuxillo
strchr.3: Small wording fixes.
kernel - remove kprintf info about magazine capacity

This kprintf was added when the magazine capacity calculation was
modified (commit 765b1ae0159cca211559c3035641d842f28defd7).

While it only emits with verbose boot, the message can become quite a
nuisance with tmpfs mounts.  Running poudriere with verbose boot
effectively takes away the first virtual terminal.  This information
isn't very useful anymore, so get rid of it altogether.

Approved-by: dillon
kernel/pf: Fix a bunch of gcc47 -Waddress warnings.

The REASON_SET() macro is sometimes called with the address of a local
u_short instead of a pointer passed to the macro's caller. In its NULL
check, gcc47 detects that the address can never be NULL and issues a
-Waddress warning which part of -Wall.

To silence it, go via a u_short pointer in the macro. This fix is about
as harmless as the "issue" gcc47 was warning about.

While here, put two "x" parameters in parentheses.
kernel - Fix namecache hash list corruption

* Fix namecache hash list corruption.  A rare race is possible where
  a dummy namecache element used as a placeholder in hash list scans
  might be improperly removed by another cpu.

Reported-by: ftigeot
Merge branch 'master' into gsocdrm_jfree
vke(4) - Add a tunable to set the max number of mbuf clusters per device.

* Also cap it to 256 mbuf clusters by default.
mkinitrd(8) - Exit upon vnconfig failure.
bce: Implement multiple TX/RX rings and MSI-X support for 5709/5716

5709/5716 support 9 RX rings, 9 TX rings and 9 MSI-X vectors; each
MSI-X vector has its own interrupt moderation parameters.

(N + 1) RX rings, N TX rings and (N + 1) MSI-X vectors will be enabled;
N is ncpus2, if ncpus2 is less than 8, else N will be 8.

The extra RX ring is enabled mainly because:
The first RX ring is only used for packets whose RSS hash could not
be calculated, so it is actually _not_ involved in RSS.  This extra RX
ring is used for the packets whose masked RSS hash equal 0.

An extra MSI-X vector is allocated for this extra RX ring; there is no
correponding TX ring for this extra RX ring.  In polling(4), this extra
RX ring is polled along with the first RX ring in the first RX polling
handler, in which the packets whose RSS hash equal 0 should be processed.

Hardware provided RSS hash and packet type are not utilized yet; they will
be supported in the upcoming commits.

Related hardware registers and hardware initialization order are infered
from Linux's bnx2 (*); NetXtremeII-PG203-R.pdf provided on Broadcom's
website does not contain enough information for multiple rings and MSI-X
to function.

(*) Unlike Linux's bnx2, which limits number of RX rings to 8, DragonFly
limits number of RX rings to 9 and 9 RX rings actually work quite well.
bce: Put per RX ring received packets debug stats under BCE_RSS_DEBUG
bce: White space cleanup
vke(4) - Use M_ZERO for tx/rx ring allocation.

Pointed-out-by: sephe
vkernel.7: Use .Pa and break line on new sentence.
Sync zoneinfo database with tzdata2013a from ftp://ftp.iana.org/tz/releases

* antarctica & southamerica: Chile's 2013 rules, and we guess rules for
    2014 and later, will be the same as 2012, namely Apr Sun>=23 03:00 UTC
    to Sep Sun>=2 04:00 UTC. (Thanks to Steffen Thorsen and Robert Elz.)

* europe: New "Asia/Khandyga" and "Asia/Ust-Nera" and "Europe/Busingen"
    zones. Also, improve the commentary about which districts observe
    what times in Russia. (Thanks to Tobias Conradi, Oscar van Vlijmen
    and Arthur David Olson.)

* various files: Many changes affecting historical time stamps before
    1940. These were deduced from: Milne J. Civil time. Geogr J. 1899
    Feb;13(2):173-94 <http://www.jstor.org/stable/1774359>.
bce: Strip extra blank lines
bce: Pack RX/TX mbuf related fields into struct

Mainly to improve cache utilization.
kernel/ddb - Add 'show tokens' function.