device: Fix memory leak while storing GATT capable devices

bt_uuid2string() returns a newly allocated string, and so it should
be free'd.
device: Clean up device_att_connect()

device_att_connect() is used to make an ATT connection to an LE device.

We clean it (and its associated callback) to have better error handling
and to respond the user with an error when it happens.

As it is only used for LE devices, we remove all the handling for non-LE
devices.
device: Rename device_att_connect to device_connect_le

This makes it clearer that this (currently unused) function should
only be used with LE devices.
tools: Make mpris-player to export players using MPRIS interface

Players found are exported in private connections using
org.mpris.MediaPlayer2.<device name> on the session bus.
tools: Add support for setting Shuffle and LoopStatus to mpris-player

This add write support for Shuffle and LoopStatus properties of
org.mpris.MediaPlayer2.Player interface.
tools: Convert player's properties changed signals to MPRIS

Thsi convert properties changed signals from org.bluez.MediaPlayer1 to
org.mpris.MediaPlayer2.Player interface.
tools: Make mpris-player to export org.mpris.MediaPlayer2

This adds support for org.mpris.MediaPlayer2 interface whic is also
mandatory accourding to MPRIS spec.
tools: Add volume support for mpris-player

This uses MediaTransport1 to track the Volume changes.
tools: Emit Seeked signal if Position changes

MPRIS spec says PropertiesChanged is not emitted for Position, which is
probably to make clear that progress is done using the rate, so instead
Seeked should be emitted.
tools: Fix glib assert in mgmt-tester if hci_vhci module is not loaded

Print descriptive warning on HCI emulation setup failure and fail test
gracefully. This is better comparing to glib assertion when not fully
initialized HCI emulation is being unreferenced.
core: Use bdaddr_t instead of char * for device creation
neard: Update to new adapter_get_device API
audio: Update to new adapter_get_device API
health: Update to new adapter_get_device API
core: Fix pairing LE devices

This patch removes the connect list usage for LE device pairing and
instead goes ahead and calls mgmt_pair_device directly. Because this can
get stuck forever with kernels that do not have proper timeout handling
for mgmt_pair_device the patch also adds a timeout to call
mgmt_cancel_pair_device if nothing happens within one minute.
test: Use a 60-second timeout for pairing
core: Make device_connect LE return int instead of GIOChannel

The IO channel doesn't need external tracking so just return a simple
int instead.
core: Connect ATT IO before pairing

Due to kernel-side issues we might miss ATT commands which arrive during
the SMP procedure. Therefore, connect ATT first and only then attempt to
pair.
tools: Fix format string warnings for g_dbus_create_error

This patch fixes gcc warnings for "format not a string literal and no
format arguments".
core: Implement Device1.Connect() support for LE devices