[DOC] Added caveats and info about the import Rake task and `find_in_batches`

Related: #530, #649
On Ruby 1.8, Only require URI methods from Rack if they are not already loaded

Closes #619
Added Ruby 2.0 to Travis test matrix
[TEST] Allow failures on REE with TravisCI
Added support for "Put Mapping" API

See: http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping.html

Related: #645, #490, #194

Closes #520
Refactored the "Put Mapping" API support

* Cleaned up and simplified code
* Made the return values more compatible with the rest of the API (return `false` for failures, users should check `index.response`)
* Removed `put_mapping!`
* Amended, completed and polished tests
* Updated documentation

Related: #194, #490, #520, #645
Added support for "Delete mapping" API

Fixes: #520
Refactored the "Delete mapping" API support

Related: #520
Fix spelling errors in the README.

Mostly so I could find both places for "associations".

Closes #601
[SETUP] Added "activesuppport" to gemspec

ActiveSupport is pulled in by ActiveModel currently, so we depend on it.

This patch just openly admits ActiveSupport is used.

Closes #604
Allow time offset UTC designators when parsing time/date in Model::Persistence

Closes #582
Force the parsed date/times for Model::Persistence into UTC

Related: #583
Added including "active_support/json"

Since we now call `as_json` in `Index#get_id_from_document`, indexing may break where the
dependencies are not satisfied outside of Tire.

Closes #621
Escape document IDs in URLs

    require 'tire'

    Tire.index 'testutf' do
      delete
      create

      store id: 'äccentedtag'
    end

Closes #427
Remove the `to_a` in `paginate` method injected in import Rake task

When using Kaminari, whatever is returned from the scopes will behave as an array.

In the case of data_mapper this is especially important, because what gets returned also handles eager loading records. With the to_a in place, it's very likely that an n+1 scenario will be created during import.

Closes #653
Fix incorrect `@response` handling in Search::Multi

Closes #659
Ignore :payload options for Search#params.

When building a Tire.search DSL with a hash of options for the payload, we need to ignore
the `:payload` in `params` so the `to_curl` and logging does not include a bunch of noise.

TODO: ignore :payload in these two places too:

- [ ] https://github.com/karmi/tire/blob/master/lib/tire/count.rb#L26
- [ ] https://github.com/karmi/tire/blob/master/lib/tire/multi_search.rb#L181

Related: #292, #259, #15

Closes #641
Remove deprecated Tire.search('{"json":"string"}') API
Allow passing URL options when passing search definition as a Hash

Example:

    Tire.search 'dummy', :query => { :match => { :foo => 'bar' } }, :search_type => 'count'

Closes #661
Removed redundant `rescue` clause in Tire::DSL.search