Fix invalid free when stopping adapter
Fix invalid free when stopping adapter

This patch fix an "invalid free" error when the adapter is powered off
with an active discovery session. Error happens because session_remove
function removes the elements from the list also. Partial valgrind log:
Address 0x6012a00 is 0 bytes inside a block of size 16 free'd
  at 0x4C27DCC: free (vg_replace_malloc.c:366)
  by 0x4E927AC: g_slist_remove (in
  by 0x19F788: session_remove (adapter.c:689)
  by 0x19F82A: session_free (adapter.c:708)
  by 0x4E92CD6: g_slist_foreach (in
  by 0x4E92CFA: g_slist_free_full (in
  by 0x1A3ADD: btd_adapter_stop (adapter.c:2491)

mapfau/bluez,silent-snowman/bluez,ComputeCycles/bluez,silent-snowman/bluez,pkarasev3/bluez,pstglia/external-bluetooth-bluez,silent-snowman/bluez,pstglia/external-bluetooth-bluez,pkarasev3/bluez,mapfau/bluez,pstglia/external-bluetooth-bluez,pstglia/external-bluetooth-bluez,mapfau/bluez,pkarasev3/bluez,mapfau/bluez,silent-snowman/bluez,ComputeCycles/bluez,ComputeCycles/bluez,ComputeCycles/bluez,pkarasev3/bluez