Fix device name issues for system sessions

Handle system sessions differently if there's no routing session name:
- if it's a phone device, fetch the correct string from SettingsLib
- otherwise, check the selectedRoutes for a name

This fixes issues seen with some bluetooth devices, and keeps the
PhoneMediaDevice name in sync with the output switcher string

Test: manual (local, bluetooth, casting)
Test: atest MediaDeviceManagerTest
Bug: 290213117
Bug: 280426984
Bug: 304506662
Change-Id: I62e3351d6c7903c0de2eee5c22b4c375e810b8b1
4 files changed