[CLIENT] Added auto-detection for Faraday adapter from loaded Rubygems

Given the importance of using persistent HTTP connections to Elasticsearch,
the default client configuration has a fairly poor performance.

Since Faraday, the "abstract" HTTP library used as the default transport implementation
comes with adapters for many high-performance libraries (eg. Patron or Typhoeus),
we should detect when a library like this is loaded, and use it as the HTTP "driver"
(adapter) automatically.

With this change, we're no longer forcing users to "configure" their client:
they simply `require` a high-performance HTTP library and it is used automatically.

Example (adapted from README):

    require 'patron'

    client = Elasticsearch::Client.new

    client.transport.connections.first.connection.builder.handlers
    # => [Faraday::Adapter::Patron]

    10.times do
      client.nodes.stats(metric: 'http')['nodes'].values.each do |n|
        puts "#{n['name']} : #{n['http']['total_opened']}"
      end
    end

    # => Stiletoo : 24
    # => Stiletoo : 24
    # => Stiletoo : 24
    # => ...

Of course, users can set a specific adapter when creating the client:

    client = Elasticsearch::Client.new adapter: :net_http_persistent

    client.transport.connections.first.connection.builder.handlers
    # => [Faraday::Adapter::NetHttpPersistent]

See the list of supported adapters for Faraday:

<https://github.com/lostisland/faraday/tree/master/lib/faraday/adapter>