add abstract ticket class and a touch of shared behavior

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
add login ticket class to live in core

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
plug in new login ticket class to Tickets module

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
implement #valid? on abstract ticket class

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
add some logging and invalid request handling to tgt validation

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
ensure created_at and times_used are always set on tickets

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
remove in_memory adapter's login ticket class for now

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
replace TicketGrantingTicket implementation

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
replace ServiceTicket implementation

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
metaprogram ticket validation methods on Tickets

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
bring version module in line with typical ruby version layouts and
capitalize CAS

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
add yard to development bundle for and document Tickets

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
Replace Database module with basic Persistence module

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
move in_memory file into persistence directory and register

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
Add basic abstract persistence Adapter class

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
Improve the accessability of attributes on our ticket classes

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
implement save_ticket on Persistence module

The adapters don't need to know about our domain object classes, just
what attributes they have. We could tighten this up and send a Struct
along but for now a hash will do.

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
implement first two ticket saving methods on InMemory adapter

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
add NilTicket that quacks like a ticket but doesn't really do anything

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
implement first two ticket retreiving methods on the core side of
Persistence

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>