build: Add configure option to specify service user

This is the user as which the service will run as.

https://bugs.freedesktop.org/show_bug.cgi?id=68947

Co-Author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
locator: Micro coding style fix
service-client: Watch for location changes
locator: Emit notify for 'location'
locator: React to network changes

When network changes, it can very well mean change of location. So we
should recheck our location if on network changes.
ipclient: Make search actually cancellable

The search call was taking a cancellable but it wasn't handling
cancellation on it. This patch adds that handling.
service-client: Don't free unowned location object
service-client: Correct check for signal handler id
service-client: More cleanups in finalize

- Remove Locator::location-changed handler
- Unref Locator instance
ipclient: Keep object refs around during async call

Keep GCancellable and IPClient instances alive until the async
soup_session_queue_message() handling is done.
locator: Keep instance alive during async call

Keep locator alive until gclue_ipclient_search_async() call handling is
done.
locator: Ensure locator is stopped before death
locator: start() should be NOP if locator is not stopped
ipclient: Add a debug print
service-client,locator: Take 'DistanceThreshold' into account
ipclient: Complete async result immediatelly/sync

So that we are not wrong to destroy associated data immedialy after.
locator: Don't print warning on cancellation

Cancellation of ipclient search request is from us so no need to print
warnings about this error.
locator: Plug a missing g_object_ref()

This should have been part of commit 698602cab66b7221e74aa5357bee3975253c445e.
Add missing static keywords to internal functions
Enable compiler warnings by default

Drop the --enable-strict-cc configure option and replace it with
--enable-compile-warnings from gnome-common. This is enabled by default
to make sure warnings show up during development.