Switch getTicket to use keyword arguments

Also add a cacheOnly version.
Split off some of TicketManager into a StorageManager

This is obnoxious, but meh.
Add a timespan.js

For time intervals.
Cache authentication tokens

Closes #3. After much reworking of how tickets.js looks like...