Fixed, that models with custom `as_indexed_json` method are properly serialized during update

Previously, the `update_document` method simply intercepted the changes to the model, via the
`@__changed_attributes` variable, and used these directly.

This caused models with a custom serialization method to be incorrectly serialized, namely
unwanted attributes were added.

This patch looks for `as_indexed_json` defined on the model, and when it finds it,
filters the changed attributes through the keys.

Closes #75

Related:

* #59
* #57
* #52
* #40
* #37
* #5
[TEST] Added an integration test for combining pagination with scopes

See: http://guides.rubyonrails.org/active_record_querying.html#scopes

Related: #16
Fixed the incorrect behaviour of limit() and page() methods

Previously:

  When klass.default_per_page is 25,

  response.limit(35).page(3)
  => :size is back to 25, :from is 25 * 2

  response.page(3).limit(35)
  => :size is 35, but :from is 25 * 2

After this patch:

  response.limit(35).page(3)
  => :size is 35, :from is 35 * 2

  response.page(3).limit(35)
  => :size is 35, :from is 35 * 2

Closes #42

Related: #72, #55
Changed, that the default `limit_value` for pagination is based on `default_per_page`

Closes #68
Removed the extraction of `from` and `size` from request body in Kaminari methods

Closes #16
Added CHANGELOG files
Release 0.1.1
[MODEL] Delegate `Hashie::Mash` query/existence methods to @result._source

Closes: #64
[MODEL] Minor improvements and retouches to the query methods (`result.foo?`) implementation and tests

Closes ##70

Related: #41, #64