libcolord: Do not assert on finalize if connecting to the profile failed

If we create a profile and delete it very quickly afterwards, the client may not
have time to connect and retrieve all the properties. In this case it returns
without connecting up the signals.

If this happens, we assert when we finalize the object as we explicitly check
for success.
This fixes xiccd crashing when running 'make check' in the colord project.
Allow profiles to be added or removed when the device is not enabled

In the case where the device is not enabled at session startup we want the
session component (i.e. colord-kde/gnome-settings-daemon/xiccd) to be able to
add the auto-EDID profile. This allows the user to enable the device later
without first manually adding the profile in the control center.