dbus: Automatically register objects
When iterating collections and items, immediately register them if
needed. That way if a collection is added outside of the D-Bus service,
it will automatically be registered the next time a client requests the
Collections
property.
Without this, the login keyring created by the PAM module is never
registered since it happens after the collection initialization. When
clients query Collections
, they'll see the new keyring's object path.
However, attempting to use it will fail since the collection object
hasn't been registered.
Fixes: #137