Return non-JSON response data

Some requests don't return JSON responses, most notably GET requests for stored message attachments. For such requests, the response handler returns NULL. This PR causes the response handler to return a JSON-decoded value if possible, and the raw response data if not, thereby allowing the use of `Mailgun::get()` to download attachments.