Dynamic InCallService switching.

Be able to switch between in-call services UIs.

Created a tree data structure to handle switching between InCallServices
depending on the state of the system.  Tree looks like this:

           CarModeSwitchingConnection
                 |             |
          +------+             +-------+
          |                            |
    CarModeConnection          EmergencyConnection
                                       |
                                       |
                               DefaultDialerConnection

Bug: 24571147
Change-Id: I0999fad4185321d5211172aed2f1d60fe8f5fe3a
10 files changed