Fixed crash when response body couldn't be parsed by JSON

At least on one company, the response body contained invalid unicode characters, making JSON.parse() crash.

By wrapping the call to JSON.parse() around a try, catch block we're now able to detect this situation and invoking callback() with the appropriate error.