Clean up AudioRouting API internals.

Reuse existing OnRoutingChangedListener APIs and internal logic by
extending the new AudioRouting.OnRoutingChangedListener.  We use
new default methods to delegate incoming calls on the legacy
interfaces.

Fix a handful of locking bugs.

Bug: 27950070, 27952052, 27949198
Change-Id: Ie584108bcbeeab064d8e27d4984e541f31d36728
6 files changed