Get the accounting working. We now have counters how many
chunks for each SCTP outgoing stream are in the send and
sent queue.
While there, improve the naming of NR-SACK related constants
recently introduced.

MFC after: 1 week
ath(4) ALQ logging improvements.

* Add a new method which allows the driver to push the MAC/phy/hal info
  into the logging stream.
* Add a new ALQ logging entry which logs the mac/phy/hal information.
* Modify the ALQ startup path to log the MAC/phy/hal information
  so the decoder knows which HAL/chip is generating this information.
* Convert the header and mac/phy/hal information to use be32, rather than
  host order.  I'd like to make this stuff endian-agnostic so I can
  decode MIPS generated logs on a PC.

This requires some further driver modifications to correctly log the
right initial chip information.

Also - although noone bar me is currently using this, I've shifted the
debug bitmask around a bit.  Consider yourself warned!
ALQ logging enhancements:

* upon setup, tell the alq code what the chip information is.
* add TX/RX path logging for legacy chips.
* populate the tx/rx descriptor length fields with a best-estimate.
  It's overly big (96 bytes when AH_SUPPORT_AR5416 is enabled)
  but it'll do for now.

Whilst I'm here, add CURVNET_RESTORE() here during probe/attach as a
partial solution to fixing crashes during attach when the attach fails.
There are other attach failures that I have to deal with; those'll come
later.
* Remove a duplicate TX ALQ post routine!
* For CABQ traffic, I -can- chain them together using the next pointer
  and just push that particular chain head to the CABQ.  However, this
  doesn't magically make EDMA TX CABQ work - I have to do some further
  hoop jumping.
I'm not sure why ah_desc.h was required here, but it doesn't _need_
to be. So, just toss it.

There's no options or ah_desc fields in here.

Whilst I'm here, fix up the #ifdef and #define to mach.
Install bsd.progs.mk, needed by bsd.test.mk and thus by atf.test.mk.
Implement a basic data decoder for the data produced by if_ath_alq.

This decodes the AR5416 family 11n TX and RX descriptors.
Add AR5212 frame decoding support.
Remove the ah_desc.h reference; it's not needed.

I'm using these descriptor header files in userland and I'm trying to
avoid populating a compatibility ah_desc.h file.
.. include ah_desc.h here now.
Add AR5211 descriptor decoding support.
Implement AR5210 descriptor decoding.
Make this a flag.
* Remove ah_desc.h, it's not needed
* Add some shifts that I'm using in userspace (athalq.)

However, this exposes a fun little bug..
Correctly populate the RTS field.

Tested:
	* AR5210, STA mode, RTS enabled
Update a comment to reflect the elimination of the hold queue in r242300.
Migrate the AR71xx UART (an 8250 derivative) to hide behind uart_ar71xx.

The AR9330/AR9331 UART is a totally different thing, so having it included
with 'uart' is not going to work out.
make the MIPS24k HWPMC support require hwpmc_mips24k as well as hwpmc.

This way non-MIPS24k platforms (eg Octeon) can have separate PMC support.

Requested by:	juli
Make MIPS24k PMC optional on "hwpmc_mips24k."

Requested by:	juli
Ensure hwpmc support is correctly included.