bus: introduce concept of "const" properties

This way we have four kinds of properties:

a) those which are constant as long as an object exists
b) those which can change and PropertiesChange messages with contents are generated
c) those which can change and where the PropertesChange merely includes invalidation
d) those which can change but for which no events are generated

Clients (through code generators run on the introspection XML) can thus
aggressively cache a, b, c, with only d excluded.
bus: decorate the various object vtables with SD_BUS_VTABLE_PROPERTY_CONST where appropriate
bus: allow invocation of sd_bus_emit_properties_changed_strv() with NULL list

When NULL is passed this shall indicate that a PropertiesChanged message
for all properties marked as EMITS_CHANGE or EMITS_INVALIDATION should
be generated.
core: no need to list properties for PropertiesChanged messages anymore

Since the vtable includes this information anyway, let's just use that
update TODO