[CrOS MultiDevice] Create RemoteDeviceRef, a wrapper around RemoteDevice.

This object will replace the direct usage of the RemoteDevice in future CLs.
It serves as a reference to a RemoteDevice for clients to pass around amongst
themselves, while providing the guarantee that the RemoteDevice object is
not copied (it's important that its BeaconSeeds are not copied because of
their size), and has an explicit lifetime (which will be tied to lifetime
of the RemoteDeviceCache, introduced in a future CL).

Bug: 824568, 752273
Change-Id: Ic2c0f15d5edf893e5c1d9e01c91a95f3e6894340
Reviewed-on: https://chromium-review.googlesource.com/1060090
Commit-Queue: Ryan Hansberry <hansberry@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559229}
5 files changed