Invalid call state transition blocks incoming call view in "finished" state
How to reproduce (GNOME client):
- call a contact
- stop the call using the hangup button while the call is still in "searching" state
The incomingcallview will remain open forever because no showChatView signal is emitted.
This is because of an invalid SEARCHING -> ENDED call state transition.
The call state machine expects a two step state transition: the daemon should first transition to a terminating state, and then to OVER. This is almost always the case, expect for the SEARCHING state.
In fact this state is a bit special since it does not correspond to any well defined daemon state.
In order to avoid issues resulting from an invalid SEARCHING -> ENDED transition, we should add a temporary state transition to TERMINATING before going on with OVER.