components/dbus: fix a memory leak when using Promise
Reason for the change
The connection to DBusPendingReply::finished needs to be single shot so the JS engine can garbage collect the pending reply object. Otherwise the callback object still has a reference to the pending reply object, and the callback object will not get GC'd because the slot still keeps a copy of it.