Do not add fake metadata to avoid creating an empty dictionary

The metadata 'CMS=colord' serves no purpose and is only used when the device has
no other metadata entries. It's easy to create an empty 'a{ss}' dictionary.
trivial: Do not print debugging entries when a client requests a property

This increases the SNR of the debugging an order of magnitude.
Fix warning when any test profile has an EDID source and no ICC file

If we create a test profile with the 'DATA_source=edid' metadata and no backing
file, the daemon issues a critical warning when accessing the profile warnings
value as the profile is added.
Always return soft-add calibration profiles before soft-add EDID profiles

In the situation where you have a system-wide soft-add profile with matching
device_id and a session soft-add profile with matching device_id the latter will
always be the default as it is added last. In the situation where the former is
a calibration profile, and the latter is an EDID profile, this probably isn't
what the users wants.

In the normal case you can hard-add the former so that it is set in the mapping
database, but in the case where it is a LiveCD you have to rely on some kind of
heuristic to match the profiles to the device in the right order.
A good heuristic seems to be 1)HARD, 2)SOFT+CALIB, 3)SOFT+EDID.

I'm not expecting many users to hit this as it's quite an unusual use case.