obexd/client: Allow suspending transfer while they are queued

Transfer may be created by different processes so it make sense to allow
them to be suspended even if they are not active.
obexd/client: Fix not being able to cancel a suspended transfer

If a transfer is suspended it should be resumed before cancelling
otherwise it will timeout.
gobex: Fix warning if g_obex_resume is called when disconnected
gobex: Fix crash when debug is enabled

GError can be NULL thus causing invalid read when trying to a message
member such as bellow:

Invalid read of size 8
   at 0x41190F: g_obex_send_internal (gobex.c:531)
   by 0x4130A6: g_obex_send_req (gobex.c:756)
   by 0x4268A5: obc_session_unref (session.c:289)
   by 0x41396A: incoming_data (gobex.c:1397)
   by 0x59712A5: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3800.2)
   by 0x5971627: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
   by 0x5971A39: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3800.2)
   by 0x40D78C: main (main.c:320)
 Address 0x0 is not stack'd, malloc'd or (recently) free'd
obexd/client: Fix crash while disconnecting

In case the transport is disconnected while disconnect command is pending
the session is freed on disconnect_complete but disconnect callback is
still valid causing the following crash:

Invalid read of size 4
   at 0x42682A: obc_session_ref (session.c:132)
   by 0x42797B: obc_session_shutdown (session.c:580)
   by 0x4139DA: incoming_data (gobex.c:1406)
   by 0x59712A5: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3800.2)
   by 0x5971627: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
   by 0x5971A39: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3800.2)
   by 0x40D78C: main (main.c:320)
 Address 0x728d814 is 4 bytes inside a block of size 120 free'd
   at 0x4C28577: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x5976F7E: g_free (in /usr/lib64/libglib-2.0.so.0.3800.2)
   by 0x4134B9: handle_response (gobex.c:1129)
   by 0x4139BD: incoming_data (gobex.c:1403)
   by 0x59712A5: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3800.2)
   by 0x5971627: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
   by 0x5971A39: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3800.2)
   by 0x40D78C: main (main.c:320)
gobex: Add g_obex_abort
gobex: Abort if there is no request to cancel

If there is no request to cancel send an abort since otherwise the remote
may hang waiting.
monitor: Fix warnings when using l2cap_frame_get*
android/avdtp: Cleanup watch id when removing session watch

When session_cb returns FALSE respective watch id is removed so it
must be cleanup. This fix following Glib warning when unrefing
avdtp after transport was disconnected by remote:
(process:28510): GLib-CRITICAL **: Source ID 2 was not found when
    attempting to remove it
android/client: Fix incorrect memory access

In case argc==3 we might access argv[3]. Make code more readable.
android/handsfree: Refactor handle_dial()

Call callback only once.
android/bluetooth: Add unpaired device callback

GATT, HID, HOG, might be interested in the fact that some device has
been unpaired in order to clear cache or similar. This patch adds means
to register and unregister callback for unpaired event.
android/hidhost: Add remove bond handling

With this patch HID/HOG is aware when remote device has been unpaired.
android/gatt: Add remove bond handling

With this patch GATT is aware about unpaired devices so the local cache
can be cleared
android/health: Fix incorrect check

"!create_mdl(channel) < 0" is always false since it returns bool
tools/btgatt-client: Introduce tools/btgatt-client

This is the initial commit for tools/btgatt-client.c, a command line tool to
interactively test and debug shared/gatt-client.
tools/btgatt-client: Added L2CAP LE ATT connection.

This patch adds support for connection establishment with different security
levels. Currently, only LE connections are supported.
tools/btgatt-client: Integrate bt_att and bt_gatt_client.

This patch adds the initial set up of a bt_att and bt_gatt_client around the
connection socket.
tools/btgatt-client: Add command parsing.

Added basic support for command parsing, including the "help" command. Also
added a call to bt_gatt_client_set_debug.
tools/btgatt-client: Add "ready" handler.

Added a ready handler which gets called by bt_gatt_client when the MTU exchange
and service discovery procedures complete. Also added some (bad) coloring for
verbose output.