bus: make bus_print_all_properties work for non machinectl cases

add a destination parameter and skip properties we can't read
machine: move symbols referenced by shared code from main to shared file

With --enable-address-sanitizer we get:
  machined-dbus.c:228: undefined reference to 'manager_add_machine'
build-sys: link most internal libraries statically

Libraries and tools, both use shared symbols wich have global state
and should only exist once in the final image.
bus: allow reading empty arrays
bus: fix bus_message_read_strv

message_read_strv_extend returns 0 on success
bus: fix bus_print_property with strv
bus: rename sd_bus_get_property_{trivial,basic}
bus: mark sd_bus_message_at_end public
analyze: split out bus util functions

They will soon be used in systemctl
systemctl: port to libsystemd-bus