DBusConnection: improve slightly initialization API

The property ConnectTried had a poor name and exposed internal
state which was only ever used to avoid initializing the
DBusConnection more than once. We can therefore improve this
exposing an Init() method that checks under the hood if it
has already been called in the past or not, before connecting.

Another option could have been checking the connect_tried field
inside the Connect() method, but this approach would have other
issues:
- It would mean a change of behaviour of the Connect() method.
- It would raise questions about what should be the return value
of the method in the case connect_tried was true.
- It would make you wonder if it should avoid connecting to a
non-default serviceName in the case connect_tried==true.

So by encapsulating this into a new Init() method with no return
value, this is a lot simpler to reason about, and will make this
easier to port to a higher-level IPC abstraction (which includes
Remoting besides DBus) in the very near future (see bgo#630110).