extract model definitions for each ORM under spec/fake_app, and load them only if target ORM is loaded
by this mechanism, all ORMs share a model name "User", and the other specs such as helper specs and request specs will run polymorphically
Conflicts:
kaminari.gemspec
lib/kaminari/models/data_mapper_extension.rb
lib/kaminari/railtie.rb
spec/models/data_mapper_spec.rb
also, refactored a lot to make the code simple
Prevent problems when using running tests with
a mongoid.yml using YAML merge keys on Ruby 1.9.2
and RubyGems >= 1.5
Will be needed until r30629 and r30630 are backported
to 1.9.2 (ticket #4357)
http://redmine.ruby-lang.org/issues/show/4357