Bug 830100: Refactor transport flow to allow destruction on any thread r=derf
Bug 830100: Avoid deadlocks by sending packets asynchronously r=ekr