List most recently disconnected devices in the List

- This CL use getMostRecentlyConnectedDevices() to get the
  most recently disconnected devices.
- Register CachedBluetoothDevice.Callback to oberve the device
  connection state used to update UI.
- Update UI when receive onRoutesRemoved().
- Add getMostRecentlyConnectedDevices() and
  setMostRecentlyConnectedDevices() in ShadowBluetoothAdapter.java
- Add test case.

Bug: 149267220
Test: make -j42 RunSettingsLibRoboTests
Change-Id: I43660dc76cf5194cb24d83b5a17d4725fe750e6a
5 files changed