[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