[Bluetooth] Record metrics for user's time taken to select devices.

Records how long it takes for the user to select a device either after
they open the UI (either Settings or System Tray) and Bluetooth is on,
or after Bluetooth turns on while the UI is open.

Note that both UI surfaces' code paths for the metric eventually resolve
to a single helper method in //device/bluetooth/chromeos.

This metric will be used to drive both improving the UX of our UI
surfaces, and possibly increasing discovery performance.

This metric is suffixed by UI surface; then by pairing state; and
finally, if the device was not paired, by transport type. These
allows us to determine if one UI surface is less UX friendly than the
other (i.e., it takes longer to find/select the desired device in one);
ensure that users are quickly finding their already paired devices;
and determine if one particular transport type is slower to discover.

See go/cros-bt-metrics for more.

Bug: 953149
Change-Id: Ie245a003ada08d620ed5825839816c5db27ca491
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1655694
Commit-Queue: Ryan Hansberry <hansberry@chromium.org>
Reviewed-by: Brian White <bcwhite@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#669327}
12 files changed