backchannel: fix semantics, auto discover interface

Context objects are supposed to do all the "work" during the call to
__enter__ not during the __init__ function.  Fix Backchannel so that
backchannel is established during the __enter__ function.

Change backchannel so that the context object no longer takes an
interface as an argument, but rather figures out the interface based
on the default route.

Fix up any tests that used the old backchannel interfaces.

BUG=none
TEST=network_3GActivate, network_3GFailedConnect, power_LoadTest

Change-Id: I82c7b62a9394b03986ed3b95c9d38aec5bde5a0f
Reviewed-on: https://gerrit.chromium.org/gerrit/23384
Reviewed-by: Jason Glasgow <jglasgow@chromium.org>
Tested-by: Jason Glasgow <jglasgow@chromium.org>
Commit-Ready: Jason Glasgow <jglasgow@chromium.org>
5 files changed