Removes CASinoCore::Settings in favor of using ActiveSupport::Configurable

The impetus for this is two-fold.

First, I have some other upcoming changes and I needed some sort of base
configuration to work within. Prior to this change, the
`CASinoCore.setup` call happened too late in the startup process so it
was unavailable. This works around that by always proving a
configuration interface.

Second, ActiveSupport::Configurable already handles most of the same
functionality that CASinoCore::Settings provided. So this offloads the
maintenance responsibility onto ActiveSupport. Open source FTW!

Note: This is a breaking change and will require updates to the
companion CASino Rails Engine gem as well as the online documentation.
Prevents SimpleCov from analyzing installed gems
Upgrades RSpec to latest release
Mixes in FactoryGirl helper methods in RSpec
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.
First stab at ORM-agnosticism

This is sort of a "work in progress" commit that sets up the overall
idea I had for removing the persistance layer from CASinoCore. On its
own, this commit will break a whole lot of tests and is generally
useless.
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
Reimplements ValidationResult
Removes the Model namespace