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.