[MODEL] Added information about converting the results to Array with `to_a`

Closes #94
[MODEL] Allow passing an ActiveRecord scope to the `import` method

    Article.import scope: 'published'

Related: #104
[MODEL] Added an integration test for the ActiveRecord scope support for import

Related: #104
[RAILS] Allow passing an ActiveRecord scope to the importing Rake task

    $ bundle exec rake environment elasticsearch:import:model CLASS='Article' SCOPE='published'

Closes #104
[MODEL] Use `__send__`, not `send` in ActiveRecord's `__find_in_batches`

Fixes 9b0e0d0
[MODEL] Added, that `each_with_hit` and `map_with_hit` in `Elasticsearch::Model::Response::Records` call `to_a`

The `zip` method in `records.rb` didn't call `to_a` on the collection,
thus the records were not returned in the same order as Elasticsearch's results.

Related #99
Related #102
[MODEL] Added tests for `each_with_hit` and `map_with_hit`

These are tests for commit 83831b3.

Closes #99
Closes #102
[MODEL] Added support for `will_paginate` pagination library

This patch adds support for the [`will_paginate`](https://github.com/mislav/will_paginate) gem,
functionally equivalent to the Kaminari integration.

Closes #49
[MODEL] Added the ability to transform models during indexing

For instance, to add the `_parent` field to indexed documents:

    transform = lambda do |a|
      { index: {_id: a.id, _parent: a.author_id, data: a.__elasticsearch__.as_indexed_json} }
    end

    Article.import transform: transform

Closes #113
[MODEL] Minor changes and tweaks to the `transform` feature for import

Related: c4b42b5, #113
[MODEL] Add `type` and `id` methods to Response::Result to prevent errors with Hashie::Mash

Since Hashie::Mash explicitely [defines](https://github.com/intridea/hashie/blob/953edec/lib/hashie/mash.rb#L75-L81)
`id` and `type` methods, the method_missing couldn't kick in.

The `id` and `type` attributes should be referenced from the attributes hash directly,
ie. from the main `_id` and `_type` properties, and not from `_source`.

Closes #90
[MODEL] Fixes for the change id/type for Response::Result in #90

* Removed the code which returned id based on _source in `method_missing`
* Reorganized and renamed some tests
* Added a test for demonstrating difference between `result.type` and `result._source.type` (same with `id`)

Related: #90
Release 0.1.2
Added Ruby version requirement to gemfiles (>= 1.9.3)
[MODEL] Fixed the incorrect protection for existing model methods (such as `search`)

Due to the different scope in the `class << self`, the `respond_to?` condition always returned false,
even when the model had in fact defined the method in question (such as `search`).

Instead of using `respond_to?`, `self.public_instance_methods.include?` has been used.

The concrete example is eg. [Ransack's](https://github.com/activerecord-hackery/ransack) `search` method.

Closes #96
[STORE] Added the blank skeleton of the "elasticsearch-persistence" gem
[STORE] Added the Persistence::Repository module and client integration
[STORE] Added the default `Repository::Class` for convenience

Instead of:

    class MyRepository
      include Elasticsearch::Persistence::Repository
    end

    repository = MyRepository.new

you can do:

    repository = Elasticsearch::Persistence::Repository.new

The module function `new` returns an Elasticsearch::Persistence::Repository::Class instance.
[STORE] Added the `Naming` module

Provides getting Ruby class from Elasticsearch type and vice versa,
ID from the document (Hash), as well as setting the `klass`
for the whole Repository instance.
[STORE] Added the `Serialize` module

The repository uses two symmetric methods: `serialize` and `deserialize`
to convert documents when:

1. passing them to the storage,
2. initializing Ruby objects when retrieving documents from storage

Every repository can easily customize (overload) these methods,
to provide (de)serialization for complex use-cases, such as storing
PDF files or images in the storage.

See:

* https://www.braintreepayments.com/braintrust/untangle-domain-and-persistence-logic-with-curator
* https://github.com/braintree/curator/blob/master/lib/curator/repository.rb