Use HTTP error descriptions for mercury request errors rather than relying on statusMessage which is usually undefined

This commit patches the `sendProtobufRequest()` function to emit slightly more useful/readable errors which detail the human-readable status from the `http` module and raw error code. 

As of f49983410b, you should be able to trigger an error such as 401 Unauthorised by requesting another user's rootlist. Before this commit, the error would have been `Error: Client Error: undefined`, instead this patch makes it `Error: Client Error: Unauthorized (401)`.