- Bring in new vendor files from base.

Sponsored by:   Isilon Systems, iX Systems, and Panasas.
Import initial linux KPI compat code inspired by Luigi's kmod compat port.

 - Define linux bits using the same headers as linux uses for maximum
   include compatibility.  The same include nesting is used where possible.
 - Some files are empty as nothing from them was required to build ofed.
 - Some implementations are still stubs (file, device, idr, dma-mapping).

Sponsored by:   Isilon Systems, iX Systems, and Panasas.
 - Redefine net_device to ifnet.  They are close enough to use
   interchangeably.
 - Create a linux_file wrapper around bsd files and define a thunking
   layer between them.
 - Add a radix tree implementation for idr.  It uses a per-idr lock and
   never shrinks trees but should perform well enough.
 - Expand other miscellaneous wrappers.
 - Remove Linux's net/route so bsd's is included instead.  No attempt will
   be made to wrap the linux route implementation as it differs too greatly
   from our own.

Sponsored by:   Isilon Systems, iX Systems, and Panasas.
 - Add notifier, radix-tree, and ilog2 support and prototypes along with
   other minor revisions to the linux wrapper layer.

Sponsored by:	Isilon Systems, iX Systems, and Panasas.
 - Add OFED_C and OFED_C_NOIMP for use in ofed targets.
 - Add files for infiniband core and mlx4.

Sponsored by:	Isilon Systems, iX Systems, and Panasas.
 - Add support for per-file object prefixes that can be used to
   disambiguate source files with the same name.

Reviewed by:	bsdimp
Sponsored by:	Isilon Systems, iX Systems, and Panasas.
 - Add a taskqueue_cancel() routine that is compatible with the similar
   workqueue_cancel() in linux.  This is like taskqueue_drain() except
   it will stop the task from running at all if it has not yet been
   scheduled.

Sponsored by:   Isilon Systems, iX Systems, and Panasas.
 - Merge in new ofed files from base.

Sponsored by: Isilon Systems, iX Systems, and Panasas.
 - Add bmake files for ofed libraries.

Sponsored by: Isilon Systems, iX Systems, and Panasas.
 - Add two header files for compatibility with the ofed userland.
Sponsored by: Isilon Systems, iX Systems, and Panasas.
 - Adjust for minherit/madvise differences between linux and bsd.
 - Update some bmake wrappers and add new ones for some management libs.

Sponsored by: Isilon Systems, iX Systems, and Panasas.
 - Add a linux compatible radix tree implementation.  This only implements
   a subset of the linux features required by ofed drivers.

Sponsored by:	Isilon Systems, iX Systems, and Panasas.
 - Correct the byteorder macros with proper casts and linux global byteorder
   definitions.

Sponsored by:	Isilon Systems, iX Systems, and Panasas.
 - Add missing header files which just redirect to linux/* includes.
 - Add the pgprot_t type.

Sponsored by:	Isilon Systems, iX Systems, and Panasas.
 - Add device, devclass, dma, and cdev wrappers.

Sponsored by:	Isilon Systems, iX Systems, and Panasas.
 - Add more bitops for zero, fill, full, etc.

Sponsored by:	Isilon Systems, iX Systems, and Panasas.
 - Fill out more of the kobject api.

Sponsored by:	Isilon Systems, iX Systems, and Panasas.
 - Add a dma pool implementation which simply uses uma.  This is not fully
   compatible with the linux implementation but satisfies the needs of
   existing consumers.  Any further requirements can be met by using
   contigmalloc as the backing for the zone.

Sponsored by:	Isilon Systems, iX Systems, and Panasas.
 - Add a somewhat x86/amd64 specific set of io routines.  Using bus space is
   complicated because linux passes only physical/virtual addresses around
   while bus-space wants an opaque tag.  We may have to create a hash for
   platforms which can't directly access io memory.

Sponsored by:	Isilon Systems, iX Systems, and Panasas.
 - Add various missing trivial APIs.

Sponsored by:	Isilon Systems, iX Systems, and Panasas.