Don't try and parse JSON when the response is empty

When the response from a request is empty (eg. when requests are stubbed 
out in a test), attempting to parse the response as JSON raises an 
exception.

This changes the log_response method to return an 'UNKNOWN' status if 
the response is empty, consistent with behaviour when the response is 
JSON but doesn't contain a result key.