fortunes: i was up at 9am, climbed a mountain, hiked 6 km through 4ft deep slush (the image you are supposed to get is of 12 million overturned slurpee cups, and of geting your groin wet in slurpee), nearly died eating beef vindaloo, wrote some code, talked on the phone, wrote mail, and now it's almost 4am and this is absolutely beyond ridiculous.
nusb: workaround for endpoints with same index but different types

nusb code assumes endpoint numbers are unique.  It's true in general
case, but it becomes false once the direction bit is ignored.  The
commit adds a check so that two endpoints of different types are not
merged into one with Eboth direction.  It does overwrite endpoint
though, so it shouldn't be considered as a full fix.
boot/nusbrc: add another rndis device
merge
nusb: resolve endpoint id conflict with different input and output types

ftrvxmtrx repots devices that use the endpoint number for
input and output of different types like:

 nusb/ether:             parsedesc endpoint 5[7]  07 05 81 03 08 00 09	# ep1 in intr
 nusb/ether:             parsedesc endpoint 5[7]  07 05 82 02 00 02 00
 nusb/ether:             parsedesc endpoint 5[7]  07 05 01 02 00 02 00	# ep1 out bulk

the previous change tried to work arround this but had the
concequence that only the lastly defined endpoint was
usable.

this change addresses the issue by allowing up to 32 endpoints
per device (16 output + 16 input endpoints) in devusb. the
hci driver will ignore the 4th bit and will only use the
lower 4 bits as endpoint address when talking to the usb
device.

when we encounter a conflict, we map the input endpoint
to the upper id range 16..31 and the output endpoint
to id 0..15 so two distinct endpoints are created.
nusb/rndis: avoid allocation on each transmission

The slack space for outgoing packets set to 44+16 bytes.
nusb: use ep->addr instead of ep->id in unstall() library function

this is not a bug, but using ep->addr makes the intend more clear.
revert previous change, i was confused.
games/snes: mode 5/6; overscan fix
nusb(4): fix spelling
newt: write message header and body to virtual file before printing, to avoid stutter
man pages: the the wich
draw(2): fix missing arg of bezspline on page 5
man pages: fix duplicate words
merge
tr: fix 4-byte runes fix (thanks rsc)
games/geigerstats: fix usage() to exit; games(1): geigerstats args
tlshand: fix memory leaks, fix alloc element size for certs pointer array, error handling
tlshand: cleanup 36 -> MD5dlen+SHA1dlen
pmmc: recognize generic mmc controllers (untested)