Introduce APIs to deal with RCN case

This CL does following:
 - MR2Manager#getRoutingSessionForMediaController is added
 - MR2Manager#getAvailableRoutesForRoutingSession is added
 - Add a workaround for provider to provide a routing session
   not requested by the user (RCN case)

Using the added methods, we exepect System UI to implement UX easily.

Bug: 154780833
Bug: 152582294
Test: It is tested manually with two demo APKs. MediaRoute2ProviderDemo
app is updated to enable the user to create a routing session w/o
MediaRouter2 clients and Sample Output Switcher is updated to use the
new APIs. With updated APKs, transfer from cast to cast (Variable
Volume1 -> Variable Volume2) is enabled.

Change-Id: I03c261c1779725f43933bacad429e1a22f602818
3 files changed