NetKVM: BZ#1154435: fix for MSI id assignment and queue allocation

Signed-off-by: Joseph Hindin <yhindin@rehat.com>
Cosmetic change: untabify vioscsi.h.

Conflicts:
	NetKVM/Common/ParaNdis-TX.h
	NetKVM/Common/ParaNdis-Util.h
Dump mode: limit queues to 256 descriptors since StorPortGetUncachedExtension can only allocate a limited amount of memory in dump mode.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72922751
Fix compile errors with latest google compilers.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76736124
Only enable hotplug if the host advertises it.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=76611343
Increase MessageNumberLimit for netkvm

netkvm driver only ask for at most 4 msi msg which is too little for a 8 core or 16 core VM. Bump it to 32.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=77958555
Setup correct Msg Index for ingress queue and egress queue for netkvm

Looking at GetPathByMessageId() routine which is used by ISR to find the relevant queue, messageId being set in ParaNdis_ConfigureMSIXVectors() is wrong, and would cause ISR to process the wrong queue.

Prior to the change, packet is often missed (delayed) even for TCP handshake because the ISR is polling the wrong queue for incoming packets.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=77958627
Get correct CPU index to make sure MQ in netkvm.

It might be Windows OS version specific. At WIn2008R2, KeGetProcessorIndexFromNumber would return INVALID_PROCESSOR_INDEX if PROCESS_NUMBER.Reserved is not zero. This bug effectively prevent NETKVM to use egress MQ and ingress RSS feature.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=77606984