Add the NoSuchCallException
add __repr__ to Call
add the _Channel class to xivo.call
get_extension_from_channel returns an empty extension

if the looked up channel has no extension or is an agent channel,
an empty extension will be returned.

an invalid channel will still raise an InvalidChannelError
a Call is now made of two _Channels

a _Channel is a package private class that contains call related
information, the extension and the channel name.

only the extension of a _Channel should be accessed outside the xivo.call
package.

Calls are also tracked earlier, starting at the NewCall event and are
modified while the call is progressing.
add a call.manager module

the hangup logic is moved to the call module since the channel
information that is package private should only be accessed from this package
The switchboard now uses xivo.call to hangup calls

the logic to hangup a call has been moved to xivo.call since we are
trying to move all channel operations to this module
send the dial_success message on originate success
make all method of the CTIMessageFormatter static
fix the call __repr__
add the merge_local_channels_function to call storage
merge local channels when a bridge is received
Extension is a tuple and is not easy to add to a format string
move the local channel merge from bridge link to masquerade
Merge branch '4441-switchboard-hangup'