dbusmonitor: Use private connection for PropertiesChanged.
dbusmonitor: Use private connection for PropertiesChanged.

Whenever you call add_signal_receiver on a connection, a corresponding
AddMatch call is made so that the dbus server routes only relevant
traffic towards the client. Unfortunately multiple calls to
add_signal_receiver may cause the connection to get rather noisy,
which is exactly the situation here.

When multiple matches has to be distinguished in this manner,
dbus-python does extra filtering on the client side in order to call the
correct handler. The filtering gets more expensive as more matches are
added.

One of those filters is especially expensive: Whenever extra arguments
are passed as part of the filter (Arg Matches), dbus-python has to check
if the arguments match, which means it has to call get_args_list, which
is rather expensive. As it turns out, subscribing to NameOwnerChanged
messages uses arg0 to say for which service we want matches, and a call
of this type is used in VeDbusItemImport.

TLDR: We don't want NameOwnerChanged to go through the same routing as
the high-volume PropertiesChanged signals, we want a separate connection
for PropertiesChanged signals so we can take full advantage of
server-side routing.

So: This change moves PropertiesChanged to a private dbus connection.

victronenergy/velib_python