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 profile accepts a 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.
hfp_ag_bluez5: Register HFP AG version 1.6
emulator: Add Codec Negotiation feature

This commit adds Codec Negotiation to the list of AG features
supported by the emulator.
emulator: Add AT+BAC support

When the emulator receives a AT+BAC SET command, it stores the
available HF codecs.
emulator: Setup codec connection

This commit sends an unsolicited +BCS command with the selected codec
after the AG receives a AT+BAC command.

If the service level connection isn't established, postpone the +BCS
to after the establishment.

Currently the codec is hardcoded to CVSD.
include: Add g_at_server_send_unsolicited_with_response()
gatserver: Implement g_at_server_send_unsolicited_with_response()

Certain AT commands only make sense if received in response to another
AT command, and this is especially important when sending unsolicited
commands that receives responses. But there is no mechanism on
gatserver side that allows to implement this behavior.

This commit adds a function which indicates what AT command prefixes
the gatserver is expecting. If the next command is one of the expected
prefixes, then the gatserver calls the callback function indicating
what prefix answered.
emulator: Receive AT+BCS response

This commit verifies what prefix answered the AG +BCS command.

If it was AT+BAC, then calls the corresponding callback. If it was
AT+BCS, then check if the codec sent is equals to the previos sent by
AG.
emulator: Add AT+BCC support

This commit setups a synchronous connection when AG receives a AT+BCC
command.
TEMP: Don't check Card.Connect() D-Bus sender
WIP: test: Add hfp-answer-call-with-sco