registry: add UnitHash to published UnitStates

This introduces a new field in UnitStates containing the string representing
the Hash of the associated Unit, to disambiguate between UnitStates published
with the same name but actually representing different Units.
After thinking about it more - I've really approached this from the "old world" event driven perspective. Given the new reconcilers-everywhere...  I need to look at your patch again, but we can probably actually just remove all the locks there and be very explicit that load/unload are not thread safe.