If we find a klass or array of klass via ManyDocumentsProxy#method_missing, return it. Allows for ::many plugins. Closes #404.
Validate key names. Explicitly disallow keys named `id` since they aren't reachable via plucky due to key normalization. Validate key names via regex. Closes #399.
Disable SCI when an inherited model explicitly changes its collection. Closes #396.
mongo driver requires that read preference to be type of symbol
Add specs to cover read option conversion
Fix issues with set_collection_name nullifying SCI on 1.8
Add critera_hash when single collection inherited. Closes #454
add assign_attributes method because it's used by Devise
Fold in rlivsey's multi_parameter attributes for AR parity
Use ActiveModel's mass assignment protection for better parity with AR.
Merge protected and accessible
Make multiparam attributes respect the plugin architecture. Fix attributes= and assign_attributes to match AR call semantics.
Change attr_protected semantics to match the Rails environment it's loaded in

Remove unnecessary require

Minor performance improvements

Fix sanitization call semantics for Rails 3.0.x

Remove explicit inclusion of MP attrs plugin on spec model
Make Rails 4 the build default for this Gemfile. Make travis build explicit gemfiles
When under Rails 4, warn about scopes that don't pass a lambda or method name. Preserve backwards compatibility with Rails 3.
Streamline scope deprecation warnings a bit
Add #scoped for AR 3.x parity