Refactored the `update_index` method for search and persistence integration

Previously, both the ActiveModel search integration and the Persistence support
relied on shared `update_index` implementation.

This has been confusing, and also a source of bugs in Rails
applications using "single table inheritance" or
["single collection"](http://mongomapper.com/documentation/plugins/single-collection-inheritance.html)
in MongoMapper applications, which both rely on the `_type` property.

The `update_index` method has been extracted to the `Tire::Model::Persistence::Storage` module,
and the offending code has been removed from the ActiveModel integration.

Closes #477, fixes #80 and #394.