Make Tethering.TetherInterfaceSM more self contained

( cherry-pick of 9a509ca728fbe264e1a5a6ccd5b39ffc0b5eceb4 )

Remove references from the class into the containing class:
  - Move functionality to bring up a USB interface into the class itself.
  - Extract an interface to wrap methods where TetherInterfaceSM was
    calling into other private classes of Tethering
  - Inject necessary dependendencies into TetherInterfaceSM instances.

Bug: 28833951
Test: Compiles.

Change-Id: Ic96947417cf8734072d027b0f1cba8a1a1be7a74
2 files changed