DBusConnection: avoid code duplication in GrabDefaultName()

The GrabDefaultName() method [1] was super similar to the
Connect(serviceName) [2] one when it was introduced [3].

The former returns a bool value that tells you if the app
being launched is the primary instance or not (therefore
it returns true if DBus is not enabled, or if it can connect
to DBus and there is no other instance running).

However, the latter returns true if it's the primary instance
*and* DBus is enabled (so for the case in which DBus is disabled
GrabDefaultName() returns true while Connect() returns false),
so you may think that both similar methods are needed.

But Connect() method thankfully informs us if DBus connection
failed by mutating the 'enabled' field to false, so we have
extra info besides its return value. Thanks to this, we can
implement GrabDefaultName() in a way in which there is no code
duplication with Connect().

[1] https://git.gnome.org/browse/banshee/tree/src/Core/Banshee.Services/Banshee.ServiceStack/DBusConnection.cs?id=2.9.0#n129
[2] https://git.gnome.org/browse/banshee/tree/src/Core/Banshee.Services/Banshee.ServiceStack/DBusConnection.cs?id=2.9.0#n97
[3] https://git.gnome.org/browse/banshee/commit/?id=b780ebced90e5aae3464e16fb686f25ddd21fd9b