Improve reliability of QLEController connect()/disconnect()/connect()

Quick disconnecting and reconnecting caused some bugs and revealed some
unreliabe API behavior on Android.

The internal data structures were never cleaned up when disconnecting
from the remote device. If multiple QLEService objects of the same
QLEController instance requested a service discovery, every request
but the first failed. This was fixed by queueing up the service
discovery requests.

Last but not least, reusing the same BluetoothGatt
instance for the reconnect is very error prone. It may well be caused
by Android API bugs. The reconnect would sometimes fail
or toggle the connect/disconnect flag a couple of times which
is not a problem for the Qt API itself but the stability of the related
unit test (see tst_QLowEnergyController::tst_concurrentDiscovery()).
Therefore we won't reuse the same BluetoothGatt instance but rather
request a new one.

Change-Id: I314f2a30960284b9bcd4926f4944c415a6d75788
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
QLowEnergyController - version for OS X and iOS

QLowEnergyController/Private for OS X and iOS.
This patch contains dummy empty classes required.
While LE controller is not fully implemented, I have to
disable (marking as insignificant) auto test on this class,
otherwise changing the (empty) class to pass the test adds more problem.

Change-Id: I54f764f7f6468b1acf58e80555ae454922de9f3b
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>