handsfree-audio: Add support for detecting Transparent SCO support
handsfree-audio: Set the voice setting for outgoing connections

In the AG case, the voice setting needs to be set before we can
use Transparent SCO mode, which is necessary for Wideband speech
support.
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.
include: Add ofono_emulator_create_card()
emulator: Implement ofono_emulator_create_card()

This patch adds a Handsfree Audio Card to the emulator structure and a
function to create it. When the emulator is about to be removed, its
card is also removed.
hfp_ag_bluez5: Create card when connect

When the HFP AG plugin accepts an incoming connection it now creates a
Handsfree Audio Card for the corresponding emulator.
emulator: Register card when establish SLC

When the service level connection is established, the emulator now
registers its Handsfree Audio Card. This registers a DBus interface
for that card.
emulator: Set local and remote address of card

This commit extracts local and remote address from the socket and
stores them into the Handsfree Audio Card.
hfp_ag_bluez5: Check if card creation fails

If the card creation fails, the HFP AG plugin aborts the connection
and removes the emulator.
include: Add emulator init and cleanup functions
emulator: Implement init and cleanup functions
main: Call emulator init and cleanup functions
emulator: Add HFP 1.6 AG card driver

This commit adds a Handsfree Audio Card driver for HFP AG 1.6.

The current connect implementation is the legacy one (direct SCO
connection without codec negotiation).
emulator: Set card driver

If the version is 1.6, send the corresponding card driver name to card
creation. If the version is not 1.6, send NULL.
hfp_ag_bluez5: Send HFP version to card creation

Extract the version from the fd_properties dictionary, if present.
Fallback to HFP version 1.5 if not present.

After that, send it to the card creation.
hfp_ag_bluez5: Register HFP AG version 1.6
emulator: Add AT+BAC support

When the emulator receives a AT+BAC SET command, it stores the
available HF codecs.
emulator: Add AT+BCC support

This commit verifies the conditions where the AT+BCC command will fail.

The codec connection setup is missing.