Encode signed global id metadata with a hash.

Let's us accommodate new metadata without breaking old messages.

This change also flips some `assert_equal` calls with wrong ordered arguments.
Merge pull request #32 from seuros/master

Explicitly require Active Support before cherry-picking core extensions.
Use string keys in to_h.
Merge pull request #31 from kaspth/hash-metadata

Encode signed global id metadata with a hash.
Expiration for signed global ids.
Merge pull request #29 from kaspth/signing-expiration

Expiration for signed global ids.
Passing nil expires_at turns off expiration checking.
Merge pull request #33 from kaspth/nil-expires-at

Passing nil expires_at turns off expiration checking.
Fix test failing when run close to the end of the day.
Prefix `gid`/`sgid`/`global_id`/`signed_global_id` with to_.

This prevents clashing method names. For example apps modelling file system
permissions might have a group id aka gid accessor.

This also clarifies global ids as a conversion like `to_s`, `to_a` etc. methods.
Encode expiration as iso8601 in UTC timezone.

Allows subsecond expirations to be encoded, which would be helpful for
something like API requests.

This also ensures a specific encoding format for timestamps. Previously
the encoding was left up to the serializer which might not roundtrip
time like objects.
Merge pull request #37 from kaspth/expiration-encoding

Encode expiration as iso8601 in UTC timezone.
update global id version
Merge pull request #41 from seuros/patch-1

update global id version
Configure the notifications
Changelog