core: Fix leaking connection list nodes

==480== HEAP SUMMARY:
==480==     in use at exit: 62,418 bytes in 355 blocks
==480==   total heap usage: 11,134 allocs, 10,779 frees, 5,254,068 bytes allocated
==480==
==480== 16 bytes in 1 blocks are definitely lost in loss record 70 of 250
==480==    at 0x4C2C04B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==480==    by 0x4E80050: g_malloc (in /usr/lib/libglib-2.0.so.0.3200.4)
==480==    by 0x4E94442: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.3200.4)
==480==    by 0x4E95792: g_slist_append (in /usr/lib/libglib-2.0.so.0.3200.4)
==480==    by 0x17E483: adapter_add_connection (adapter.c:3245)
==480==    by 0x187FDF: btd_event_conn_complete (event.c:470)
==480==    by 0x18B72D: mgmt_event.part.36 (mgmt.c:515)
==480==    by 0x4E7A474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==480==    by 0x4E7A7A7: ??? (in /usr/lib/libglib-2.0.so.0.3200.4)
==480==    by 0x4E7ABA1: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.3200.4)
==480==    by 0x1216B1: main (main.c:551)
core: Fix walking the list while removing elements

If we are walking a GSList and remove the element we are pointing to,
the next iteration g_slist_next() will access previously freed
memory.
adapter: Convert adapter_get_address into simple getter

Most uses of adapter_get_address were in form of:

bdaddr_t addr;
adapter_get_address(adapter, &addr);
foo(&addr);

Changing it to getter makes code simpler and avoid number of not
needed memcpy.
storage: Constify bdaddr_t pointers parameters
adapter: Constify pointer returned by adapter_get_address
device: Convert device_get_address into simple getter

This allow to remove number of local variables used only to get device
address and pass it as pointer later on.

bdaddr_type parameter is also removed as there is device_get_addr_type
already present which can be used to get it if needed.
mgmt: Constify use of bdaddr_t pointer parameters

Mark all input only bdaddr_t pointer parameters as const.
adapter: Constify use of bdaddr_t pointer parameters

Mark all input only bdaddr_t pointer parameters as const.
device: Make device_get_address return const pointer
device: Remove bogus line from device_create_bonding

This is a typo from 899e6561d284806007b7e57e1ab3b65e54be3d22.
device: Don't use device_get_adapter to access device adapter

Use struct btd_device directly to access adapter member.
device: Don't use device_get_addr_type to access device address type

Use struct btd_device directly to access bdaddr_type member.
adapter: Don't use adapter_get_address to access adapter address

Use struct btd_adapter directly to access bdaddr member.
adapter: Don't use adapter_get_path to access adapter path

Use struct btd_adapter directly to access path member.
device: Move auth_type_t definition to device.c

Bonding is handled in device.c and auth_type_t is private device data
not used outside of it.
alert: Add initial support for alert device probe/remove
alert: Add support for device register
alert: Verify if category id is valid
alert: Add support for Enable/Disable New Alert Notification

Add support for Enable New Alert Notification in Alert Notification
Control Point
alert: Using Alert Notification Control Point data

Now when D-Bus methods call impact in a Alert Notification the
configuration of Alert Notification Control Point is checked.