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.
Use string keys in to_h.
Merge pull request #31 from kaspth/hash-metadata

Encode signed global id metadata with a hash.