geoclue: Handle service not available

The dbus code can fail if geoclue is not present on the system. Move
code that can fail to a try/catch block to handle geoclue not
available. Also make sure that methods using Geoclue are aware that
it might not be there.

https://bugzilla.gnome.org/show_bug.cgi?id=727706
geoclue: Add 'connected' property

Turn geoclue into a GObject and add a 'connected' property that tells
us if we are connected to the GeoClue2 DBus service.

https://bugzilla.gnome.org/show_bug.cgi?id=727706
mainWindow: Disable location button if no geoclue

https://bugzilla.gnome.org/show_bug.cgi?id=727706