Fix a dumb bug: when freeing mbufs, we need increment the descriptor
index even if a buffer has a NULL mbuf pointer.

Also allow up to 32 mbuf fragments in the transmit. I have no idea what
the limit is; 32 just comes from other Atheros drivers in FreeBSD. With
this, the basics seem to be working well: ping floods don't cause any
drops, and I can ssh around and stuff. If all goes well, this commit
will be pushed using alx(4).