Allow the underlying http adapter to be specified for tests

Example usage:

```ruby
    GoCardless::Enterprise.connect('http://dummy/enterprise/',api_key.id,api_key.key,
                                   http_adapter: [:rack, Rails.application] 
                                  )
```

@isaacseymour @petehamilton

This is clearly Faraday specific at the moment. That's probably fine for now, but I know you've done a good job of abstracting the HTTP client in use. 

My gut feeling is we won't need to worry overly about this now - we can abstract the `http_adapter` option bit at a later stage, in much the same way that the Faraday folks have abstracted the various adapters they use over time.

Thoughts?