Cleanup REM flag

The REM flag was used wrongly - it should not be set from polling as surprise removal.
Also REM flag should not be part of BUSY check. If REM flag is set, IO should fail,
not sent back with EAGAIN.
add sop_stop_unit
Add code to handle Shutdown
Add code to set PQI power action register.
Update the SOP release_hw code

Add more functionality by putting common code in remove and shutdwon in it.
We need to set sgio_hdr->info when setting other fields to let

caller know that they need to check them.
Fix an endianness bug in fill_send_cdb_request()
Allow to run with fewer than requested number of msix vectors
Add error prints for SGIO if logging is enabled
Improve the check for data transfer length in SGIO
Use vmalloc instead of kmalloc for request buffers.

There's no need for them to be physically contiguous or for
them to be DMA'ed.