[geoclue] Close client interfaces when no longer used.

Geoclue was not tracking usage of the master clients,
/org/freedesktop/Geoclue/Master/client?. They were not being cleaned up
after the application that was using them exited. This was keeping all
active providers used by the client running. Usage of master clients
are now tracked and they are destroyed when no longer used.

Master clients no longer unsubscribe from master providers when no
matching available providers are found.

Deinitialize master provider when it is no longer used by any clients.

These changes cause all references to the Geoclue providers to be
closed, allowing the providers to terminate when no longer required.

This change does not cause geoclue-master to terminate.

Based on the patch from https://bugs.freedesktop.org/show_bug.cgi?id=14993