Ensure calls are not unheld between apps automatically.

When locally disconnecting a call, we have the behavior of automatically
unholding the held background call.  This was originally intended for use
with PSTN calls.  However, when using different apps it makes for a bad
user experience if a call terminated in the dialer auto-unholds a call in
a VOIP app, for example.

As part of this refactored the performRemoval code into a new method in
CAllsManager.  The use of a future made it hard to test this in unit tests.
The only delta is the addition of "areFromSameSource" in the auto-unhold
code.

Test: Manual using test app.
Test: Add new unit test to verify auto-unhold on local disconnect in same app
Test: Add new unit test to verify no auto-unhold on local disconnect in different app
Fixes: 253311155
Change-Id: I4eed793d57a16af64040aaa39c9f68884273858c
2 files changed