Check for valid result when converting response body to buffer

The changes introduced in e1f66a7c01e6864063829494cd7152c0d4a753c1 caused some issues for me. When sending a request with a buffer as the body, *sometimes* (depending on the response) nock would come back with an empty string as the response body.

It took me ages to be able to track down and isolate the case, cause it depends on both the buffer being sent and the content returned if the bug appears or not. I added a test case which illustrates the problem, and tried my best at a fix. It's pretty dirty, but I could not find a prettier way to detect this for the time being, seeing as node doesn't throw an error in this case, but just returns an empty string.