Expiration for signed global ids.

Adds #27.

At the moment this is for some discussion with some code.

I've taken the approach of only storing `expires_at` and converting from that when accessing `expires_in`.

I have some trouble condensing just how `expires_in`  and `expires_at` work together, and on top of that, they should work on both the instance and class level... :grin:

For instance with this set up turning off `expires_in` (by passing `nil`) at the instance level wouldn't work, because it would use the class level `expires_in`.

Basically I just want to know if I'm headed somewhere :smile:
Sorry, my original comment made it sound like the static value was a good thing, which it isn't.
I have a newer version which fixes this. I just need to write some more tests, then I'll push it.