Adds possibility to raise error when response parsing fails

This pull request is related to issue #767

It respects the `always_raise` configuration and raises a `Geocoder::ResponseParseError` in case JSON parsing fails.

I also checked all overrides of `parse_raw_data` and I am not sure how to handle the [freegeoip override](https://github.com/alexreisner/geocoder/blob/master/lib/geocoder/lookups/freegeoip.rb#L18), but that might be topic of an other issue.

Please let me know if I missed something.