[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)