handsfree-audio: Add Manager registration

Adds the initial implementation of new experimental Handsfree Audio
Manager interface. This patch adds the interface registration and
the declaration of it's methods.
main: Call handsfree audio manager init and cleanup
handsfree-audio: Add Agent "Register" method

This patch adds the initial Handsfree Audio Manager "Register"
method implementation. It adds the parsing of the arguments included
in the message and checks if there is an agent registered already.
handsfree-audio: Add codec array validation

This patch checks if the codec array included in the "Register" method
contains valid codec ID's.
handsfree-audio: Free agent when exiting

Free agent allocated resources when oFono exits.
handsfree-audio: Add Agent "Unregister"

This patch implements the "Unregister" method of the Handsfree Audio
Manager. The agent is unregistered if sender and path match.
handsfree-audio: Call Agent "Release" when exiting

This patch notifies the Agent implementation that it is no longer
registered to the service daemon.
handsfree-audio: Add Agent tracking

This patch tracks when the Handsfree Audio Agent leaves the system BUS,
and free agent allocated resources.
handsfree-audio: Don't go over 80 characters
hfp_hf_bluez5: Add local HFP version tracking

Fallback to HFP 1.5 if defer setup is not supported since it is not
possible to proceed with codec negotiation.
bluez5: Add profile version argument

This patch adds sending of the Version argument to RegisterProfile
method.  The version is required to create the service record
containing the correct profile version.
hfp_hf_bluez5: Send HFP version when registering
hfp_ag_bluez5: Send HFP version when registering
include: Add skeleton for handsfree-audio
handsfree-audio: Add ref / unref support
bluez5: ref / unref handsfree audio
hfpmodem: Fix segfault in CIEV GAtChat callback

This patch fixes segmentation fault when the network registration
watch is called without being initialized. CIEV GAtChat callback can
be called before ofono_netreg_register().

==15101== Invalid read of size 8
==15101==    at 0x492B56: ofono_netreg_register (network.c:2073)
==15101==    by 0x47245E: hfp_netreg_probe (network-registration.c:311)
==15101==    by 0x492A8D: ofono_netreg_create (network.c:1881)
==15101==    by 0x4849D5: hfp_pre_sim (hfp_hf_bluez5.c:288)
==15101==    by 0x48C486: ofono_modem_set_powered (modem.c:1194)
==15101==    by 0x484E9D: slc_established (hfp_hf_bluez5.c:85)
==15101==    by 0x4702AD: chld_cb (slc.c:147)
==15101==    by 0x440457: at_chat_finish_command (gatchat.c:461)
==15101==    by 0x44109F: new_bytes (gatchat.c:532)
==15101==    by 0x4433B7: received_data (gatio.c:122)
==15101==    by 0x3CBAA47824: g_main_context_dispatch (gmain.c:2539)
==15101==    by 0x3CBAA47B57: g_main_context_iterate.isra.23
(gmain.c:3146)
==15101==  Address 0x18 is not stack'd, malloc'd or (recently) free'd
dundee: Fix typo in Manager's signal DeviceAdded

This typo was preventing dundee from sending the signal.
dundee: Fix typo in dundee-disconnect test
AUTHORS: Mention Paulo's contributions