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

@codezomb Even if conduit decided to use Excon as a default, it should still wrap it in an object so it can replace out Excon in the future if desired.  The fact that conduit-rails rescues from Excon exceptions is part of the underlying problem we're trying to solve here.  This exposes the internals of conduit.  It can't even be considered a thin wrapper if it doesn't actually wrap.