Guard multiple device discovery agent instances from each other

Each instance listens to the device discovery singals from the OS. However
they should only emit the relevant signals when they are actively
discovering.

Change-Id: I3cd0c4d8c4f3fc5be88de8b9768044ad54cd41c1
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Use new InvalidBluetoothAdapterError where appropriate

Change-Id: If7d556cda29be6e17ad9a3411fa3cbea18cc0cc6
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>