Refactor core action to return a parser instance based on the response body

@pedromartinez What is proposed here doesn't solve any particular problem, it merely masks it. As you can see in conduit rails, we're also rescuing from an Excon exception. This solution would have to take all of those possible exceptions into account as well, and return useful and detailed exceptions. That's yet another wrapper layer, and more management / maintenance.

Honestly, I would make excon a hard dependency. It's a well maintained, and reliable library for HTTP interactions. If for some reason you need to change the library down the road, you release a version with deprecation warnings, and then a new major version that drops the deprecation later on. This is a standard procedure for changing exposed functionality, and I don't see it as an issue. Remember Conduit is supposed to be a thin wrapper around an http library, not a replacement for one.

If you _really_ want full isolation from other HTTP libraries, I would consider falling back to Net::HTTP. It's the only sure fire way to ensure conduit always returns a consistent response without wrapping the request response and mapping attributes, which would be a pain anyway.