bugfix: the read context was released twice when read_message_async was used in blocking mode

in practice it only affected the 'geta' command in 'shardcachec' since that's
the only place where fetch_from_peer_async() is used in blocking mode
(but still to receive and return each chunk of data while being downloaded,
as opposed to what the 'get' command does:  passing back the whole data once
completely downloaded)