Bluetooth LE - device discovery for OS X.

- Unfortunately IOBluetoothDeviceInquiry does not scan for LE devices,
  so I need a separate scan for OS X and iOS imeplemented with CoreBluetooth
  framework.
- CoreBluetooth hides addresses - "think different" in action. So we'll
  have to use 'identifiers' (NSUUID actually) provided by CoreBluetooth instead
  and we'll have to ask CBCentralManager to retrieve peripheral with a given
  NSUUID (or however we encode it).
- Inform a delegate about LE device discovered.
- Add the second scan/pass (Bluetooth LE) in QBluetoothDeviceDiscoveryAgent.
- Make it all more "protocol conformant"
- Do a proper cleanup + fix auto-test failure
- Make a device inquiry longer + remove totally useless (??) 'name update'.
- Use a plain bool instead of IOReturn (no this type(??) on iOS).
- CoreBluetooth provides enumerators to check if LE is supported or not,
  no need to manipulate with StatePowerOn and other flags.
- Add a workaround for a broken SDK (10.9 + CoreBluetooth headers + c++11).
  NSUUID is quite new - added in 10.8/6.0, works only on 10.9 and 7.0 (works ==
  there is required interface).
- CBCentralManager: it looks like it's impossible to delete an object of this type
  before centralDidUpdateStatus was called - this is not good, since a C++ object
  (the owner) can be deleted at any point - some preliminary workaround is to
  create a temporary delegate and pass the ownership from the dealloc. To be
  investigated/tested.
- Move the TransientCentralManagerDelegate into the separate file - it'll
  be reused in future by other users of CBCentralManager.

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