Rename __wchar_t so it no longer conflicts with __wchar_t from clang 3.4
-fms-extensions.

MFC after:	2 weeks
Add the svn revision number to the IPX note.

Sponsored by:	The FreeBSD Foundation
Add a method to get the PCI Routing ID for a device

Reviewed by:	kib
Sponsored by:	Sandvine, Inc
Re-implement the DMAR I/O MMU code in terms of PCI RIDs

Under the hood the VT-d spec is really implemented in terms of
PCI RIDs instead of bus/slot/function, even though the spec makes
pains to convert back to bus/slot/function in examples.  However
working with bus/slot/function is not correct when PCI ARI is
in use, so convert to using RIDs in most cases.  bus/slot/function
will only be used when reporting errors to a user.

Reviewed by:	kib
Sponsored by:	Sandvine Inc.
Re-write bhyve's I/O MMU handling in terms of PCI RIDs

Reviewed by:	neel
Sponsored by:	Sandvine Inc
Revert PCI RID changes.

My PCI RID changes somehow got intermixed with my PCI ARI patch when I
committed it.  I may have accidentally applied a patch to a non-clean
working tree.  Revert everything while I figure out what went wrong.

Pointy hat to: rstone