We've been passing around `Stream`s of `Frame`s everywhere even though we never
made use of the async nature of those (i.e. we used future::ready everywhere).
This resulted in unnecessarily complicated an hard to read code. Instead we now
have a simple VecDeque outbound_buf which we push packets on if we want them to
be sent. No more passing around complicated return values.
mumble-client now properly disconnects, so this is no longer an immediate issue
(hence downgrade to TODO).
The protobuf FIXME was resolved with the switch to `mumble-protocol`.
Protobuf will generate the `Mumble.rs` file there which we do not want to commit
to git but we do still need the directory to exist for protoc to work.
Delayed packets weren't handled properly and when a transmission timed
out, RTP sequence numbers were re-used and therefore rejected by the SRTP layer.