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.

To facilitate this, the systemdUnitManager maintains a synchronized map
to track the hashes of the units it loads/unloads.
systemd: lock for entire GetUnitStates call
Merge pull request #700 from jonboulle/unithash

registry: add UnitHash to published UnitStates