BluetoothControllerImpl: track bluetooth better
Match settings behavior better:
- Get connection info from profiles so it is for all devices
(CONNECTION_STATE_CHANGED only updates one)
- Disconnect from all known connections so that 'x' does something
- When device is disconnected without CONNECTION_STATE_CHANGED
then find a new 'last' device that is connected
- Listen to a bunch more broadcasts to make sure info is always
up to date.
Bug:
18210666
Bug:
18638010
Change-Id: Ie003b67bbdd0d452b7472c644d90bca929e5cd29