Set MaxIdleConnsPerHost for Node.searchClient

For as long as http.Transport does not have timeouts for cached
connections, MaxIdleConnsPerHost should be set quite high, since
ElasticSearch can obviously handle it.

At some point, this should probably be exposed as a configuration
option, but 250 seems like a sane default for sites with a high-ish
number of concurrent connections.
Merge pull request #1 from bernerdschaefer/set-default-max-idle-connections

Set MaxIdleConnsPerHost for Node.searchClient
Update badge
General refactor of cluster, node, and requests

This should help pave the way for supporting elasticsearch's indexing
APIs. There are a few small changes to the public API:

  - Both SearchRequest and MultiSearchRequest now take an explicit
    `es.SearchParams` as params.
  - MultiSearchRequest is no longer a slice of SearchRequests, but
    instead accepts both `es.SearchParams` and a slice of
    SearchRequests.

And a few internal API changes:

  - Fireable interface now expects a Request method which takes a
    base URL and returns an HTTP request.
  - Cluster no longer uses the event loop for dispatching requests.
  - `searchCommon` on Node is now `Execute` as a generic method for
    executing requests against the node.
Remove empty test file
Add Index, Create, Update, and Delete Requests
Add cluster and node support for index operations
Remove Search/Index API methods from Node

Since all client interactions should be happening through a Cluster
connection, and Cluster only uses the Node's Execute method, there's no
reason to keep these API wrapper methods around.
Merge pull request #2 from bernerdschaefer/refactor-and-index-api

Support for Index Operations
BulkResponse Items are specially unmarshalled

This removes the extra indirection in checking the results of bulk index
operations.
Merge pull request #3 from bernerdschaefer/bulk-index-response

BulkResponse Items are specially unmarshalled
Add Timeout option to SearchParams