Massive refactor of ADB/Android code

adb.js and android.js were not well separated. adb.js was doing lots of appium-specific work, when the original goal was for it to be a library that could be used in other projects as well, whose purpose was to provide an interface to adb and no more.

adb.js was also handling the socket connections to the uiautomator bootstrap, which logic has been ported to the more appropriately-named uiautomator.js

android.js has also been refactored, and stuff from adb.js common to android/selendroid/chrome has been moved to android-common.js.

I also gave adb.js a code review and cleaned up style, settled on a few conventions, broke apart long functions into smaller chunks, etc...

happy appium devving!