Initial import of the Microsoft HyperV 'enlightened' drivers.

From https://github.com/FreeBSDonHyper-V/VendorBranchForFreeBSDonHyper-V
rev:   99eaa0ddb0485c9d76046664100f6beb1a0a0c58
Import driver source from hyperv-20130502 vendor branch.
make glue to hook up the hyperv kmods to the build.

Modified from the original Microsoft versions to pull
code/headers in from the sys/contrib/dev directory.
IFC @ r252047
IFC @ r252288
Import Microsoft HyperV driver update
From https://github.com/FreeBSDonHyper-V/VendorBranchForFreeBSDonHyper-V
rev: 3c707c73520adbd6d1f4ff009826dbbfb0c2dc4d
Import driver source from hyperv-20130627 vendor branch.
Connect the stordisengage driver to the build.
IFC @ r252763
Microsoft have changed their policy on how the hyper-v code will
be pulled into FreeBSD. From now, FreeBSD will be considered the
upstream repo.

First step: move the drivers away from the contrib area and into
the base system.

A follow-on commit will include the drivers in the amd64 GENERIC kernel.
IFC @ r253461
First cut at adding the hyperv drivers to GENERIC.
The files inventory should probably have the modules split
out into net/storage/common etc as the modules build is,
but this will do for now.
IFC @ r253862

- change the SI_SUB_RUN_SCHEDULER sysinits in hv_utilc and
hv_netvsc_drv_freebsd.c to SI_SUB_KTHREAD_IDLE, since the
former is no longer in FreeBSD.
  The use of these SYSINITs can probably be removed.
IFC @ r255209
Latest update from Microsoft.

Obtained from:	Microsoft Hyper-v dev team
Revert the kvp code - there's still some work that
needs to be done for that.

Discussed with:	Microsoft hyper-v devs
IFC @ r255459
Prior to r254304, we only began scanning the active page queue when the
amount of free memory was close to the point at which we would begin
reclaiming pages.  Now, we continuously scan the active page queue,
regardless of the amount of free memory.  Consequently, we are continuously
calling pmap_ts_referenced() on active pages.

Prior to this change, pmap_ts_referenced() would always demote superpage
mappings in order to obtain finer-grained reference information.  This made
sense because we were coming under memory pressure and would soon have to
begin reclaiming pages.  Now, however, with continuous scanning of the
active page queue, these demotions are taking a toll on performance.  To
address this problem, I have replaced the demotion with a heuristic for
periodically clearing the reference flag on superpage mappings.

Approved by:	re (kib)
Sponsored by:	EMC / Isilon Storage Division
Fix build with gcc.

Build-tested by:	gjb
Approved by:	re (glebius)
Provide pr_ctloutput method for AF_LOCAL/SOCK_SEQPACKET sockets.
This makes setsockopt() on them working.

Reported by:	Yuri <yuri rawbw.com>
Approved by:	re (kib)