[EXTENSIONS] Added the initial version of the `elasticsearch-extensions` gem
[EXTENSIONS] Added the `ANSI` extension

Colorize and format Elasticsearch responses à la Elasticat [http://git.io/elasticat]:

    require 'elasticsearch/extensions/ansi'

    puts Elasticsearch::Client.new.cluster.state.to_ansi

    puts Elasticsearch::Client.new.search.to_ansi

    puts Elasticsearch::Client.new.indices.analyze(text: 'Quick Brown Fox Jumped').to_ansi
[TRAVIS] Run Travis tests only on the `master` branch
[CI] Added Coveralls integration

<https://coveralls.io/r/elasticsearch/elasticsearch-ruby>
[TEST] Fixed Coveralls integration at Travis-CI
[EXTENSIONS] Added documentation for the `ansi` extension

[ci skip]
[TEST] Prevent running Coveralls report on Ruby < 1.9
Added the `CI::Reporter` integration to tests

Generate JUnit compatible XML reports from the test runs when the `CI` environment variable is set.

See <https://github.com/nicksieger/ci_reporter>
[FIX] Properly set request body for GET requests when using Curb

This fixes a serious issue when sending GET requests to Curb transport backend.

Basically request body was discarded and not used at all. For example any search would yield default search - returning all docs.

Closes #3
Add missing .rb extension to the `elasticsearch-api/lib/elasticsearch-api.rb` file

Closes #2
[API][TEST] Updated the YAML test suite submodule
[API][TEST] Added a Rake task to update the Git submodule with the YAML specs
[DOC] Clarified and improved READMEs across libraries

Closes #4
Changed URL extraction in Elasticsearch::Client to allow more flexibility

Previously, it wasn't possible to fully configure the Elasticsearch endpoint URL, eg. to allow `https` protocol,
to pass HTTP Basic Auth credentials, or to configure a URL prexic without implementing a custom transport.

Now, any URL is handled automatically (using `URI.parse`):

    Elasticsearch::Client.new url: 'https://myserver:4430/search'

Code, tests and documentation have been updated accordingly.
Changed the URL-escape ("urlencode") behaviour in the `Utils` module

Previously, the `Elasticsearch::API::Utils.__escape` method was using `URI.encode`,
which escaped only characters, which shouldn't appear in URLs "naked".

This was inconsistent with other clients, and also made it cumbersome when trying
to eg. index a document with `type: "mynamespace/model" -- as is common in Rails applications.

With this change, `__escape` uses `CGI.escape` -- or `EscapeUtils.escape_url` when available --
to perform a *full* URL-encoding of the passed in argument.

`__pathify` has been changed to not perform any escaping, and `__listify` was changed
to escape all list items separately.

Related: #7
Changed the behaviour of URL-escaping across the API modules

Based on changes in the previous commit, updated the logic within
API modules to perform "urlencode" consistently, and updated
the test suite to reflect the behaviour.

Closes #7
[FIX] Removed variables duplicated in commit 9f65017
[API] Changed, that the `get_template` API doesn't require :name argument anymore

Related:

  * elasticsearch/elasticsearch#2532
  * elasticsearch/elasticsearch#3812
  * elasticsearch/elasticsearch-rest-api-spec@4efda5d1806019c195005d72f299d7b13047b81c
[API] Improved the output of the YAML test runner

Display the test filename in verbose (default) mode.
[API] Added support for source filtering across the API

Related:

* elasticsearch/elasticsearch#1413
* elasticsearch/elasticsearch#2951
* elasticsearch/elasticsearch#3301