Reimplements ProxyTicket and ProxyGrantingTicket

Includes logic to handle associations
Reimplements ServiceTicket and renamespaces SingleSignOutNotifier
Reimplements TicketGrantingTicket
Reimplements User
Reimplements TwoFactorAuthenticator
Reimplements ServiceRule
Restricts SSO Notifications in test mode

This prevents having to constantly stub out logic that falls outside of
the scope of the object under test.
Refactors Ticket Validator tests from dynamically created to using Shared Examples
Reimplements ValidationResult
Removes the Model namespace
Deprecates the db/ folder

* Removes checked-in development SQLite DB
* Removes migrations (will be moved to CASino)
* Removes schema.rb
Moves "add service rule" rake task to ServiceRule#add

Doing so makes this non-trivial logic testable
Removes Railtie

Not only does this prevent an infinite loop when booting CASino,
it is no longer necessary as the contained behavior is not part
of the CASino gem.
Provides an :environment Rake task hook for non-Rails users

By polyfilling the :environment task, a common API can be exposed to all
framework implementations.

Outside of Rails, developers are required to create an :environment task
that handles loading the app, connecting to the ORM, and loading its
CASinoCore integration points.