Include the response code in the log for bulk_store requests.

Closes #217
Added tests for the "Include the response code in the log for bulk_store requests" patch
[#222] Added a prefix query

See: http://www.elasticsearch.org/guide/reference/query-dsl/prefix-query.html

Closes #222
[#244] Added support for "script fields" (return a script evaluation for each hit)

See: http://www.elasticsearch.org/guide/reference/api/search/script-fields.html

Closes #244, closes #363.
Added a Faraday adapter as a Tire client

NOTE: As soon as possible, Tire will try to use Faraday as HTTP abstraction layer.
      This client is a temporary solution.

Closes #337.
Fix incorrect/incomplete Faraday usage instructions

Closes #337.
Added, that boost factor can be specified for indices

Example:

    Tire.search 'index_1' => { boost: 1.5 }, 'index_2' => { boost: 2 } do
      ...
    end

Closes #205, closes #377.
Added that MyModel#all is called in Rake import task

Closes #380, closes #381.
[#352] Added, that accessing Tire::Search#json forces perform

Conflicts:

	lib/tire/search.rb
[#352] Whitespace cleanup in Tire::Results::Collection
[#352] Added MyModel#new_record? for Tire::Persistence

Commit <https://github.com/erickt/tire/commit/40cb9753b25cd943e35ddf5ce52c0384ae98482e> rewritten and cleaned up by @karmi
[#366] Added support for the Update API in Tire::Index

Usage:

    tags = ['a', 'b', 'c']

    Tire.index 'my_index' do
      update 'document_type', 'document_id', {
        :script => "_ctx._source.tags = tags;',
        :params => {:tags => tags}
      }
    end
[#366] Cleaned up the Update API support and added an integration test suite

This patch expands karmi/tire@f620b36.

* Polished the `curl` output from the API call
* Added the ability to pass URL parameters (timeout, refresh, etc)
* Cleaned up the unit tests
* Added a separate integration test for resilience and documentation

Example usage
-------------

Update a counter:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ruby
  Tire.index('articles-with-tags') { update( 'article', '1', :script => "ctx._source.views += 1" ) and refresh }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Add a tag to the document:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ruby
    Tire.index('articles-with-tags') do
      update 'article', '1', :script => "ctx._source.tags += tag",
                             :params => { :tag => 'new-tag' }
      refresh
    end
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Set a title of the document:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ruby
  @title = 'Foo Is Now Bar!'

  Tire.index('articles-with-tags') do |index|

    index.update 'article', '1', :script => "ctx._source.title = title",
                                 :params => { :title => @title }
    index.refresh
  end
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

See <http://www.elasticsearch.org/guide/reference/api/update.html> for more documentation.

---

Closes #366.
Patch Test::Unit::Assertion#assert on Ruby 1.8 to return true on success

Our Mocha `with do ... end` blocks fail otherwise.
[TESTS] Fixed errors on Ruby 1.8

* Changed Ruby 1.9 hashes to hashrocket syntax
* Changed regex to allow different URL parts order
[FIX] Fixed incorrect `Results::Item#to_hash` serialization

Without this fix, `Item#to_hash` returned `Item` instances for nested Hashes.

This commit calls `to_hash` recursively in `Item#to_hash`
Fixed incorrect `to_curl` output in Tire::Index#register_percolator_query
[#190] [FIX] Tire::Search::Search#version should return `self` to allow chaining

Fixes karmi/tire@2bf558508e0cf8457c826e7251e80a501ed0340e by @gedwards
[ACTIVEMODEL] Allow to pass :version option in Tire::Model::Search::ClassMethods#search
[#352] [FIX] Fixes MyModel#persisted? for Tire::Model::Persistence integration

Fixes karmi/tire@cef81338e225150dea0181773760647f05cf83e0 by @erickt