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: Add watch for G_IO_HUP when connect

A watch to G_IO_HUP is added to remove the file descriptor when the
emulator is automatically disconnected when its GAtServer closes.

We use a dupped file descriptor because the events aren't delivered to
the file descriptor who originated them.
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
hfp_ag_bluez5: Pass fd to card creation

We can extract local and remote address from the file descriptor.
emulator: Add init and cleanup functions
main: Call emulator init and cleanup functions
emulator: Add a Card driver for HFP 1.6

This is just the skeleton of a Handsfree Audio Card for the AG side of
HFP 1.6.
emulator: Set card driver

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

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

After that, passes it to the card creation.
hfp_ag_bluez5: Register HFP AG version 1.6
emulator: Add Codec Negotiation feature

This commit adds Codec Negotiation to the emulator's list of features.
emulator: Add AT+BAC support

When the emulator receives a AT+BAC SET command, it stores the
available HF codecs.
emulator: Keep information about AT+BAC calls

The AG must only init the codec negociation procedure if the HF has
already sent an AT+BAC command in the current Service Level Connection.
emulator: Respond to AT+BCC command

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

The codec connection setup is missing.
include: Add g_at_server_register_response()