Represent Global IDs URIs: gid://basecamp/Todo/1234

(Moved from #16)

* Share Global IDs among collaborating apps and with non-Ruby/Rails code
* Well-known format with parsers & generators already implemented
* Pave the way to put verifier signature in the URI params, or e.g. a "?version=456" optimistic lock

Next steps:
* [ ] Beef up the URI parser
* [ ] Integrate signing into the URI as a query param
* [ ] Introduce an opaque, url-safe base64 #to_param
Not sure if relevant for the discussion but active model does not define id on its interface. Only active record does. Should we define it on Active Model? 

Also I believe we should use class_name since it is defined in the Active Model api.