READ SUPPORTED OPCODES. Update the signature to allow setting all of the
parameters to this command.
TESTS: Add some REPORT SUPPORTED OPCODES tests

Add a simple test that it works or is not implemented.

Add a RCTD test to verify that with this flag clear we get command descriptors without CTDP set  and with it set we get command descriptors with CTDP set and a timeout descriptor
TESTS: Improve the REPORT SUPPORTED OPCODES test for RCTD and also verify that
the returned timeout descriptors have the correct length.
TEST: REPORT SUPPORTED OPCODES,  SERVACTV
When this flag is clear then service action must be zero.
remove extraneous and incorrect log message from a test
TESTS: Add a test for the reprot one command reporting options for
REPORT SUPPORTED OPCODES.

Opcodes that are listed in the full list of all supported opcodes as taking
a service action should work to ask reporting option 2 (uses service action)
from  but fail when asked for option 1 (no service action)

Similarly, opcodes that are flagged as not taking a service action should
work when used with option 1 but fail with option 2.
TESTS: Add checks for CDB sanity to REPORT SUPPORTED OPCODES
Read all individual opcodes and check that CDB length > 0  and that
CDB[0] Usage Data is 0xFF
fix incorrect check in test
REPORT_SUPPORTED_OPCODES,  serviceaction is a 16 bit integer at offset 4, not a 32 bit integer
TEST: INQUIRY, request 260 bytes of data when reading the standard VPD page.
This is the maximum possible size of this page.

Previouslly we only read the arbitrary 255 bytes of page, but for targets
that return >255 bytes of data this would then incorrectly make the test fail
since the data-in buffer was truncated and thus the inq->additional_length
no longer matched up with the datain buffer size.

Now reading up to 260 bytes will avoid the datain buffer from ever becomming truncated, and as a second feature also make sure to test that the target
understands > 8-bit values for the allocation length in the request.
Add initial support for SANITIZE and a simple test to generate this opcode.
Add helpers for the SANITIZE service actions
TESTS: Add a simple test for SANITIZE OVERWRITE
Add tests from SANITIZE OVERWRITE parameter length
Add test that all undefined SANITIZE service actions return an error.
Update SANITIZE OVERWRITE tests, test one block/half block and 4 byte
initialization pattern.
Tests: Update the SANITIZE tests
TESTS: Try reading the BlockDeviceCharacteristics VPD page on startup
Block Device Characteristics: Add decode of the rest of this page that was missing
Fix block limit tests

The tests currently verify whether two block limits are above 2**20. Change
these tests into <= 2**20.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>