fail gracefully when an error response doesn't include JSON error fields

(some webmention implementations don't include the error_description field, e.g. https://github.com/pfefferle/wordpress-webmention . others don't include anything at all.)