BUG: read-command with data size 0 does not return a response header

NBD-server v3.2 has a problem: if a client does a read-request of 0
bytes in length, then the nbd-server does not return a response header.
This is not in line with a write request which always returns a response
header.
This patch solves that behaviour.
BUG: debug output uses signed integer for length field

Replaced %d by %u.
BUG: oversized 64b offset wrap not detected when offset + len > 64bit and thus wraps

if:
	offset = 64bit - 2KB
	len = 4KB
then the server will allow the read/write because the check
	if (((ssize_t)((off_t)request.from + len) > client->exportsize))
will never trigger as client->exportsize will be compared with... offset
2KB!
Remove erroneous cast

Don't remember why it's there, it's probably a thinko.

Pointed out by Goswin von Brederlow <goswin-v-b@web.de>
Merge these two tests

Testing for "larger than the max value" is impossible and silly, but is
what the next test actually tests. Remove the erroneous one.