Rework the imx ehci driver so that it's four separate ehci units rather
than one unit with four busses attached to it.  This allows us to use
existing fdt data which describes separate devices with separate resources.
It also allows any combination of the units to be en/disabled in the
board dts files.

Adjust our dts code to match what's used by linux and u-boot now that
we're structured to do so.

Document lots of interesting stuff learned whiling doing this with a big
comment block in the driver, so I don't have to re-learn it for the next
round of changes.
Revert to upstream literal $FreeBSD tag

radiotap.h in upstream wpa originally came from the FreeBSD CVS
repository.  The copy in vendor/ matched the upstream one; with this
change the contrib copy now matches too.

Discussed with:	jhb@
revert sign changes to buffers used in invocation of digest_update()

Instead, change arguments of internal function digest_update() to accept
signed char arguments.

Remove MAP_FAILED fallback definition and casts of MAP_FAILED.

Thanks to bde@ for looking over this and doing the code analysis.