hfpmodem: Watch for changes in the selected codec

This patch adds a function to monitor when the AG sends a new codec
before establishing the SCO connection.
include: ofono_handsfree_card_select_codec()

This will be used by the drivers that a given codec was negotiated
for a card.
handsfree-audio: Implement ofono_handsfree_card_select_codec()
hfp_hf_bluez5: Set the audio codec in the card

This patch updates the handsfree audio card codec when the AG notifies
the codec for the succeeding incoming SCO connection.
handsfree-audio: Send the selected codec

This patch removes the hard-coded CVSD codec, and adds the selected
codec in the NewConnection method call, notifying the agent the codec
previously selected for the audio connection.
handsfree-audio: Set CVSD as default in the card

If the device doesn't support codec negotiation, the selected codec is
not being initialized. For this case set CVSD as default.
handsfree-audio: Enable wideband speech if defer is enabled

Only enable support for wideband speech codecs, at this point mSBC, if
the kernel supports defer setup.
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
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_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.
include: Add ofono_emulator_set_removed_cb()
emulator: Add removed notification mechanism
emulator: Change feature check to attend HFP 1.6

In HFP 1.6 there is a new feature: Codec Negociation.
hfp_ag_bluez5: Create a hash to store emulators
hfp_ag_bluez5: Store emulator when connect
hfp_ag_bluez5: Remove emulator when disconnect
emulator: Add Handsfree Audio Card to emulator
hfp_ag_bluez5: Create card for emulator when connect