core: Fix multiple issues with discovery handling
core: Fix multiple issues with discovery handling

This patch is the first attempt in fixing the discovery issues for
dual-mode BR/EDR + LE controllers. It creates a clean chain for
start/stop discovery client handling and also for the internal
handling of suspend, resume and restart.

However this patch removes the LE connection handling. And that needs
to be put back with a separate patch.

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