TESTS: Old and new testsuite tested slightly different things for 0block tests

Change all tests in the old testsuite to check 0block tests 2 blocks past the end of the device, just like the new testsuite.

These tests check that we get an error if we do a 0-block read/write etc beyond the end of the device.

In the SBC standard, the only thing that discusses LBA_OUT_OF_RANGE is wordings
such as this :
	If the LBA plus the transfer length exceeds the capacity of the medium,
	then the device server shall terminate the command with CHECK CONDITION
	status with the sense key set to ILLEGAL REQUEST and the additional
	sense code set to LOGICAL BLOCK ADDRESS OUT OF RANGE.

This is very clear for when transfer length is > 0,  but what when
transfer length is == 0?

Assume we have a device that is 0x31fff in size.
With this wording, if we read 1 block at LBA : 0x31fff  we end up at 0x32000
and this is at the end, but not beyond the end.
We are reading/accessing the last block at 0x31fff and we stop at 0x32000.

Similarly, if we are reading 1 block, starting at 0x32000 and reading to 0x32001 which would be LBA_OUT_OF_RANGE since we are accessing beyond the end of the device.

The question now is what happens if we try to read 0-blocks  just at the edge at the end of the device.
I.e. What is we try to read 0 blocks at LBA:0x32000 ?

Looking at the standard, the wordings say that this should be fine.
Because the SBC standard only says that we should check LBA+transfer length.
Thus since 0x31fff + 1 block   is exactly the same as 0x32000 + 0 blocks
thus a device SHOULD allow reading of 0 blocks just at the end.

This is the conclusion from reading SBC by the letter. However It might be unreasonable to do so and it might be wiser to just stay away from this ambigous area of SBC.

Following the SBC standard by the letter,   the new test suite was wrong since it should have flagged this as a failure. But it did checks on one block beyond the blobk at the end of the device.  It checked that we would fail  for 0x32001 in the example above.

Strictly, I should have fixed the new test to check 0x32000   but I think it might be unreasonably to enforce something here for this ambigous area of "what happens when accessing 0 blocks just at the edge of the device".

So instead I have changed the OLD tests so that they now check one block further on. In the example above it means they too now check 0x32001  instead of 0x32000.
Technically speaking this is wrong,  but this is the imho reasonable thing to do.
(cherry picked from commit 6a3888e39e12f9d9572d7442b81cf54b8b4477a5)
We should still be able to login even if the device is reserved.

TESTUNITREADY returning reservation conflict is no reason to fail the login
(cherry picked from commit d5c5fb83afab255db2bf12a319739944dffe11c7)
TESTS: Add RESERVE6/RELEASE6 tests
(cherry picked from commit 6c0fd5cfa3b10a743e7ad81939795317ce8e0f29)
TESTS: Add tests to verify a RESERVE6 is dropped on logout and it-nexus loss
(cherry picked from commit fd77387c6634dacdbe27ec4e4fa05dcff937fc55)
Reservation type not needed to register.
(cherry picked from commit cfc83f0b4fe2afbed3ba62e18315ffcdd9805f86)
fix reregister to check for resvn conflict

According to SPC, an attempt to register on
a registeried I_T Nexus with the incorrect
reservation key should produce a reservation
conflict.
(cherry picked from commit 510883f28fca2f7e8468f0411946a216902442d4)
TESTS: in RESERVE6 test, allow slow targets 3 seconds to notice the nexus loss and drop the reservation
(cherry picked from commit 3e358bb192ae4e937878005d0a300f26f877a968)
TESTS: Update the "invalid read10" test with better description and logging of what exactly it tests
(cherry picked from commit 2d10d0a2d8664e9247aa314b2bc55a86116d795e)
Make task->residual a size_t instead of an int
Update and improve the log messages for failures for the read10 invalid test
(cherry picked from commit 808eed9680c12ca31120780cdf6769b1a849c146)
TESTS: Add test for READ10 to check that over/underflow residuals are generated correctly.
(cherry picked from commit 5b29ad2ddfad1f30624c6036e7ddf9088ee402fd)
TESTS: fixup a log message to be nore accurate
(cherry picked from commit a95a83764a96da1a7e0022bccf2bfb1397e121d4)
TESTS: Add tests for READ12/16 residuals
(cherry picked from commit 7cfcf3259132238e2e33a3ee6738afcc0b735255)