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
2 files changed