[keepstore] error reporting improvements
From ops bug #15520
Keepstore logging improvements:
- Keepstore PutBlock() calls log.Printf, this line of code is untouched from 2014 (!) it is being logged in JSON format but lacks useful context like the request id.
- The error that is sent to the client is not logged at all.
- The log doesn't say anything about where the block is being fetched from -- which volume, bucket, remote cluster, anything
- the error that reaches the user needs to make it clear that the problem was in fetching a remote block; requires some combination of improving server and client error messages