Revised Socialite implementation

# What

Everything was a bit outdated and written back when Rails Engine documentation and support was pretty much hacked together. The goal is to completely gut the outdated parts and create a revised implementation with a far more configuratable, robust, and testable implementation of Socialite.

### CHANGELOG

* `Socialite.setup do |config|` now only accepts a few simple, yet powerful, options: 
  * `config.provider`: accepts same options as the `OmniAuth::Builder#provider` API
  * `config.user_class=`: customize where `Socialite::User` is implemented in the parent application.
  * `config.identity_class=`: customize where `Socialite::Identity` is implemented in the parent application.
* Socialite now has a few helpful accessor methods:
  * `config.identity_class_name`: String version of the `identity_class`
  * `config.user_class_name`: String version of the `user_class`
  * `config.providers`: Array of requested providers and arguments
* `Socialite::User` and `Socialite::Identity` are now abstract classes. Meaning your parent application just inherits from either of these classes (ie, `class Account < Socialite::User; end`). -- You can still use the modules directly, which is the preferred implementation method.
* All Socialite concerns have been renamed to reflect exactly that and avoid confusion. `Socialite::Models::Identity` is now `Socialite::Models::IdentityConcern`; `Socialite::Models::User` is now `Socialite::Models::UserConcern`;
* Install generator now supports setting custom `user_table` and `identity_table` values; the defaults for these values are `socialite_users` and `socialite_identities` to avoid any possible collisions inside of existing applications.

### TODO

* Support for omniauth-identity workflow
* Support a 'second-step' registration page for establishing basic auth
* Support new omniauth-facebook and omniauth-twitter gems