Revised Routing and Controller implementation

## What

Revising the routing and controller implementation to support all the various OmniAuth strategies. We will also have support for "second step" registration for cases where you need to complete some sort of profile or credit card information. All of this will be better tested then it was previously and will support proper linking and unlinking.

Once completed this will be released for testing on rubygems as version `0.1.0.pre.2`. To follow progress, use this in your Gemfile:
`gem 'socialite', github: 'jsmestad/socialite', branch: 'revised'`

#### CHANGELOG

* Routes are now generated into the parent application in this release. (see `spec/dummy/config/routes.rb` for example) Making vanity routes much easier for `/login` and `/signup`. This may change to a method-based implementation to prevent issues with re-running the install generator.
* `Socialite::UsersController#new` is responsible for User Registration.
* `Socialite::SessionsController#new` is responsible for only `omniauth-identity` login
* `Socialite::SessionsController#create` is responsible for all registration, linking additional providers, etc.
* Socialite now makes use of the built-in model that is part of `omniauth-identity`. This shouldn't cause any problems, but there is a small monkey-patch in place to make it work as a module. (see `lib/socialite/ext/omniauth/identity.rb`)