[Cast,Android,Presentation API] Split CastRouteController into session and media routes.
BUG=
555075,
558484,
558565
MediaRoute is introduced that corresponds to a single connection between the
page and the Cast session. ClientRecord keeps Cast-specific info and
SessionRecord keeps track of connected routes and clients.
As a consequence, create/join/closeRoute were rewritten.
Committed:
https://crrev.com/c180e6c9a0d4b0c2a6adcadedd45ee64e3b2f1a0
Cr-Commit-Position: refs/heads/master@{#362038}