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

The point is not matching the namespace of the gem.  The point is to guarantee the caller that they can ask for "response_body" and "response_status" from the object returned by the Action#perform method.  We are wrapping transport layers _other than_ excon and those transport layers do not expose the http response.  For example, braintree_ruby uses Net::HTTP directly and never provides access to the body, status, headers, etc.