ORM refactors

Working together with @jasl (see PR he started in https://github.com/doorkeeper-gem/doorkeeper/pull/478).

## Improvements:

* Allows extensibility of doorkeeper ORMs (example https://github.com/advancedcontrol/doorkeeper-couchbase)
* Simpler hierarchy of files. This implies repetition of mongoid 2/3 implementations, for example, but makes the code Open for Extension and Closed for Modification.
* ORM specific code lives in `lib/doorkeeper/orm`
* Rails models common code lives in `lib/doorkeeper/models` as mixins that get included into the ORM specific files (with activerecord models inheriting from `ActiveRecord`, and other ORMs doing whatever they need).
* Smaller adjustments and refactors