ADB support for Deploy

@devoncarew for review.

This allows deployment to a connected Android device.
Due to limitations in the chrome.usb API, we must whitelist device
models, rather than searching for any Android device.

The following devices are currently whitelisted:
- Nexus 4, 5, 7, 7v2, and 10.
- Galaxy S 2 and 3.
- HTC One
More devices can be easily added: find their vendor ID and product ID
with lsusb, and put them into the manifest.json usbDevices list, and in
the _KNOWN_DEVICES list in lib/harness_push.dart.

Known Issues:
- Something is wrong with the authentication: the device does not
  remember the host, and the user must press OK to the Android debug
  dialog every time the connection must be re-established.
- Switching devices without restarting Spark currently does not work.