Added the support for the Count API

Added the `Search::Count` API and a DSL support for the Count API.

The semantics is similar to the search DSL and API, the `Tire.count`
method takes the index name(s), query, routing parameters, etc.

    Tire.count 'articles'
    # => 5

    Tire.count('articles') { term :tags, 'ruby' }
    # => 2

    c = Search::Count.new('articles')
    c.value
    # => 5
    c.json['_shards']['total']
    # => 5
    c.response.success?
    # => true

See <http://www.elasticsearch.org/guide/reference/api/count.html> for more information
and the integration tests for documentation.

Closes #521