Add fcmdr_service_add_bus_address()

Associates a user-session message bus address with a user ID. The
FCmdrService opens a GDBusConnection to the message bus, but only
for the purpose of listening for "closed" events.
Add fcmdr_service_dup_bus_address()

Returns the address of a user-session message bus associated with the
given user ID.
Add fcmdr_get_connection_unix_user_sync()

Returns the UNIX user ID of the process owning the given bus name.
Add a "Sessions" D-Bus interface.

The profile.d scripts now also call the Sessions.Add() method with the
value of DBUS_SESSION_BUS_ADDRESS (if set).  The service pairs the bus
address with the sender's user ID and tracks the session.
FCmdrService: Add a "session-added" signal.

Emitted when a (non-duplicate) bus address is added.
Add FCmdrUserResolver.

An FCmdrUserResolver maps a UNIX user ID to the user's login name and,
if possible, the user's real name.  This helps resolve "${username}" and
"${realname}" variables in settings profiles.
Add FCmdrLocalUserResolver.

FCmdrUserResolver subclass that uses the local user database.
This is the default resolver unless overridden in the config file.
Add fcmdr_service_get_user_resolver().

The FCmdrService creates and owns the FCmdrUserResolver.

This also adds a new configuration option to allow for more sophisticated
user ID resolution than just the local user database, although "local" is
the only valid extension name at this time.

    user-resolver: $EXTENSION_NAME
Add fcmdr_replace_variables().

Scans a string for occurrences of the pattern "${SYMBOL}" and replaces
them with the string value for "SYMBOL" in the provided symbol table.

This will be used in conjunction with FCmdrUserResolver to replace
"${username}" and "${realname}" variables in settings profiles.
Add FCmdrGoaBackend.

New type of FCmdrServiceBackend to handle GNOME Online Account data
in profiles.  Relies on FCmdrUserResolver to substitute "${username}"
and "${realname}" variables in account details.  It then spawns a
helper utility (fcmdr-update-goa) which sets its UID to match the
logged in user so it can connect to the user's session bus and add
the accounts.

This adds a dependency on goa-1.0 >= 3.15.1.  The bleeding-edge minimum
version is for GOA features added explicitly to support Fleet Commander:

    https://bugzilla.gnome.org/737656
    https://bugzilla.gnome.org/737721