Bug 969518 - Autophone - attempt to use reverse tethering so we can use ethernet over usb instead of wifi, r=mcote.

* autophone.ini.example
** Update with usbnet examples.
* autophone.py
** Do not lower case registration url data as device serial numbers
   are case sensitive.
** Make the host port distinct for each ppp connection.
** Add debug logging about usbnet set up and catch errors from
   calling usbnet.sh. Terminate Autophone and send email notification
   if an error occurs calling usbnet.sh.
** In Autophone.stop, call stop on the workers before calling shutdown
   on the Autophone instance. This along with the change to worker.py,
   helps prevent deadlocks when shutting down the server.
* worker.py
** Call terminate on worker process when stopping the worker.
* usbnet.sh
** Fix typo in usage.
** Implement a shell function wait_for_device using adb get-state
   which will time out and return an error after 30 seconds.
** Restrict usbnet to devices where we can run adbd on device as
   root so we can create the ppp device on the phone. Terminate
   with a non-zero exit code if adb root is not supported by a device.
** If we have udev rules set up we do not need suid adb except
   for when creating the ppp devices.
** Explicitly turn off deflate and bsd compression on the ppp
   connection.