Consolidates custom exceptions into a single location

* CASinoCore::Error for all CASinoCore related errors to inherit from.
  Similar in concept to Ruby's StandardError, this allows users to
  rescue from any type of CASinoCore error that may be raised
* Renames ServiceNotAllowedError to ServiceNotAllowed to be more
  consistent
* Adds MissingImplementor with a custom initializer to make raising
  easier
Removes database-specific Rake tasks
Simplifies the loading of Rake tasks
Removes ActiveRecord connection establishment

Since this is not core CAS-logic, this should be handled by the host
application.
[wip] first stab at orm-agnosticism
Reimplements LoginTicket
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