Currently we have two python types that can be used by a registry: UUID and int. Sometimes a caller needs to change what they do based on knowledge of this type. For example when ingesting raw files you want to use a UUID5 in UUID registry but unique int in integer registry. Being able to ask the registry what type it is using will simplify this logic.
It needs to be able to do this without querying for datasets in order to get a DatasetRef to inspect the type in use there.
A remote client/server registry will have to report the type in use by the registry the server is attached to.
This ticket will clean up butler ingest and butler dataset transfer code to simplify some of the logic.