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>
remove remaining in_memory ticket classes to prep for adapter rework

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>
Add documentation for Persistence module so far

Signed-off-by: Tyler Pickett <t.pickett66@gmail.com>
change Persistence registry to a vanilla hash

Since we're trying to remove AS from the project we need to stop using
its classes.

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