Add display for when a call hasn't been answered

This PR completes https://trello.com/c/PtZCyqN4/168-2-as-a-caller-i-know-that-my-call-has-not-been-answered

I encapsulated the timeout operation within the call establish view as it felt like part of the call establishment, and the view was so similar. It seemed best to add a new state to the call model for timeout, as then the other views would know about the change as well.

Other notes:
* The worker now only clears the currentConversation on port closing. This is more appropriate as clearing it on call hangup is no longer what we want.
* The call model is used to store the constraints (video/audio) in case the caller wants to retry the call.
* I've not handled cases for having a text chat and then returning to a text chat - these will come in later cards.