Use in-memory SQLite database for testing

* Removes the /db*.sqlite3 entry from the .gitignore because that
folder shouldn't even exist if running the dummy app during gem
development
[temporary] Temporarily sets an explicit table names in CASinoCore

Due to the namespacing changes required for developing a standard
Rails engine, the default table names inferred in CASinoCore were
wrong. This temporarily works around that by setting explicit
values until the CASinoCore::Model namespaced classes are absorbed
into this project.
Uses ActiveSupport::Configurable to reimplements CASinoCore::Settings

This handles auto-loading the cas.yml file as well as adding the
CASino-specific front-end settings.
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
Adds FactoryGirl dependency
Adds LoginTicket
Adds ProxyGrantingTickets
Adds ProxyTicket
Adds ServiceRule
Adds ServiceTicket
Adds User
Adds TicketGrantingTicket
Adds WebMock dependency
Adds SingleSignOutNotifier
Adds SingleSignOutNotification integration to ServiceTicket
Adds ValidationResult
Adds TwoFactorAuthenticator
Adds AbstractAuthenticator
Adds Static Authenticator
Adds Authentication processor concern