Merge pull request #66 from bonzini/master

scsi-lowlevel: do not use unsafe pointer casts
TESTS: Add tests for the reserved bits/bytes in SANITIZE
TESTS: SANITIZE, Add tests for WABEREQ/WACEREQ
TESTS:SANITIZE verify that if BLOCK_ERASE is available we have LBPME==1
TESTS: Sanitize check that after block erase all blocks are unmapped
TESTS: Add helper function for READ10 that returns a task*
TESTS: Rename the tests and strip off the redundant prefix for the individual tests

We dont need to repeat the opcode all the time so remove it from the indiviual tests

SCSI.Read10.Read10Simple -> SCSI.Read10.Simple
TESTS: Verify that WACEREQ is 0 if SANITIZE CRYPTO ERASE is not supported
TESTS: SANITIZE OVERWRITE add tests for OVERWRITE COUNT and INIT PATTERN LEN
TESTS: UNMAP make sure we read the blocks back as 0 after unmap
TESTS: Verify that SANITIZE does wipe the data
Unmarshall support for Control modepage
Add MODESELECT6 support

Add support for MODESELECT6 and add marshalling functions for the
mode pages we support so far.
Add utility to get/set the software write protect flag
Add invalid field in parameter list sense code
Add parameter list length error sense code
TESTS: Log when we skip tests on normal log level, not just for -V
Modesense6 decoding bugs, start preparing for modesense10 decoding
TESTS: Add a test that SANITIZE commands fail when there is a RESERVATION
TESTS: Add a test that SANITIZE fails when SWP is on.