emulator: Copy callback mechanism from atutil.h

atutil.h needs GAtChat and GAtResult definitions, and we do not have
these definitions inside emulator.c.
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
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
hfp: Transfer HFP version definitions to hfp.h

When these definitions were located in slc.h and you want to uset them,
you must include gatchat.h.

Now you only need to include hfp.h.
phonesim: Include hfp.h
hfp_ag_bluez5: Include hfp.h
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 version
hfp_ag_bluez5: Pass version to card creation