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