Improvements to external call handling.

Add onExternalCallChanged listener in Call to report when a call switches
between being external and not.
In CallAudioManager, BluetoothPhoneServiceImpl, HeadsetMediaButton, and
PhoneStateBroadcaster, listen to changes in the external call state.

This ensures that when a call becomes external or a call becomes
non-external that the various modules updates themselves appropriately.

Bug: 28179159
Change-Id: I44bc0b94f185c66aeddb68549223533249bb0b62
8 files changed