handsfree-audio: Add debug logging

Print debug messages when Handsfree Audio Agent registers or unregisters
itself.
hfp_hf_bluez5: UUIDs can change after Pairing

For example, in the case of a remote-initiated pairing, the device may
be created and Paired first, then the UUID array is emitted later.
phonesim: Include hfp.h
hfp_ag_bluez5: Include hfp.h
hfp: Move HFP versions definitions to hfp.h

hfp.h should store all HFP related definitions.
hfp_ag_bluez5: Remove unused includes
handsfree-audio: Fix replying to an empty D-Bus message

In the case that ofono_handsfree_card_connect_sco() is called outside the
context of a .Connect() call, there's no message we need to reply.  This
happens, for example, when the HFP AG plugin initiates a SCO connection when
it receives an AT+BCC command from the HF.
bluetooth: Add define for SCO voice settings

Add defines for SCO voice setting (Air Coding). Air mode "Transparent
Data" shall be supported if wide band speech is supported.
handsfree-audio: Add setting SCO air mode
hfp_hf_bluez5: Handle org.bluez.Profile1.Cancel()

Cancel() will be called when the ConnectProfile() is called, perhaps
even replied with a success, and the user cancels the connection
attempt.
hfp_hf_bluez5: Handle org.bluez.Profile1.Release()

There's nothing we can do in this case, so we only reply with a
success.
test: Create simple-handsfree-audio-agent

This python tool implements the org.ofono.HandsfreeAudioAgent interface,
dealing with the SCO file descriptor passed by the Handsfree Audio
Manager.
hfp_ag_bluez5: Create a hash to store connections

We need to store active connections so we can disconnect them at
RequestDisconnect().

When we remove a connection from the hash, we also close it.
hfp_ag_bluez5: Watch for G_IO_HUP when connect

The file descriptor is stored after the emulator is registered.

A watch to G_IO_HUP is added to remove the file descriptor when the
emulator is automatically disconnected when its GAtServer closes.
hfp_ag_bluez5: Implement RequestDisconnection()

When a RequestDisconnect() is received, the socket must be closed.
This way, the related emulator will be freed.
include: Add ofono_emulator_create_card()
emulator: Add Handsfree Audio Card to emulator
emulator: Register card when establish SLC
hfp_ag_bluez5: Create card for emulator when connect
emulator: Set local and remote address of card