Do not assume usb_moded D-Bus service is always available

DSME assumed that usb_moded is always available and can provide
usb connection status. This meant that
a) dsme had to require usb_moded on packaging level
b) dsme could not be started before usb_moded is running

Track availability of usb_moded querying usb_moded D-Bus name owner
on dsme startup and listening to name ownership changes.

When usb_moded service is / becomes available, query current usb mode
and act accordingly.

If usb_moded service is not available for a while, assume charger is
not connected.

[usbtracker] Do not assume usb_moded D-Bus service is always available. Fixes JB#22603
Allow dsme startup without waiting for usb_moded

Since dsme no longer attempts to use usb_moded D-Bus service unless
it is available, dsme can be started independently from usb_moded.

[systemd] Allow dsme startup without waiting for usb_moded
Do not require usb-moded package to be installed

Since dsme uses usb-moded only if the service is available, there no
longer is need for hard package dependency.

[packaging] Do not require usb-moded package to be installed
Check pending call pointer even if send_with_reply was succesfull

If connection is in disconnected state, dbus_connection_send_with_reply()
can return true without providing valid pending call object.
Merge pull request #84 from spiiroin/jb23959_usb_moded_ipc

Do not assume usb_moded D-Bus service is always available