[CLIENT] Added, that loaded HTTP libraries are auto-detected and used as an `adapter` for Faraday

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 a 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 Elasticsearch clients:
they simply `require` a high-performance HTTP library and it is used.

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]