[STORE] Improve wording in README

Closes #157
[MODEL] Added note about `include_root_in_json` on Rails 3

Thanks @chrisdebruin.

Closes #154
[CI] Pin the "ci_reporter" gem to 1.9 to prevent failures in continuous integration

Related: elasticsearch/elasticsearch-ruby@5dc6bc61b85cb681b2453e4b9a6afb9a35e1be98
[CI] Pin the "ci_reporter" gem to 1.9 in `elasticsearch-model` as well

    Related: elasticsearch/elasticsearch-rails@6f76d54ff59ff3fb4e7d31f7c108d3774305bce2
[STORE] Added correct dependency on "minitest" for elasticsearch-persistence
[MODEL] Added the `offset` method to the "will_paginate" integration

Closes #135

Related: #131, #135, #175
[MODEL] Added the `length` method to the "will_paginate" integration

Closes #175

Related: #131, #135
[MODEL] Fixed typo in exception message in the `import` method
[MODEL] Added a `:preprocess` option to the `import` method

Closes #152

Related: #151
[MODEL] Retouched the code, tests and examples for the `preprocess` option

Related: #151, #152
[DOC] Added notes regarding running the test suite to the README

Related: #122
[DOC] Added information about running a separate test cluster to the README

Closes #122
[MODEL] Changed, that `update_document` is converts Hash keys to strings before comparing them

When users would define a custom `as_indexed_json` serialization, which
emits key as Strings, the `update_document` method would fail to process them correctly.

So, for a code like this:

    class Article < ActiveRecord::Base
      include Elasticsearch::Model
      include Elasticsearch::Model::Callbacks

      def as_indexed_json(options = {})
        { description: self.description }
      end
    end

when the record was updated:

    article.update_attributes(description: 'new description')

the change would never reach Elasticsearch.

As suggested by @FUT in #140, the code in `update_document` method would
defensively convert all keys into Strings before comparing them.

Tests were updated accordingly.

Closes #140

Related: #85, #118
[MODEL] Changed `update_document`, so attributes are fetched from `as_indexed_json`

Example of the problem:

    book = Book.create(title: "My book")
    book.title = "My book 2"

    book.save
    # Elasticsearch::Transport::Transport::Errors::BadRequest:
    #       [400] {"error":"MapperParsingException[failed to parse [title]]; nested: ElasticsearchIllegalArgumentException[unknown property [ru]]; ","status":400}

    book.instance_variable_get(:@__changed_attributes) # => {title: {ru: "My book 2"}}
    book.as_indexed_json # => {title: "My book 2}

Related: #166, #140
[MODEL] Clean up getting attributes from `as_indexed_json` in `update_document`

Basically, flipping the relationship here should be enough: select based on
`changed_attributes` keys from the `as_indexed_json` Hash, not vice versa.

Related: #166
[MODEL] Added dynamic getter/setter (block/proc) for MyModel.index_name