Temporary solution for random setTimeouts

Two of the setTimeouts weren't needed (tested against Windows/Linux/OSX)
and I just made the other get handled with another callback on the
server thread input.

My NativeEvent system backed by file descriptors isn't working and I
don't want to waste any more time debugging it. Especially, since I
realized a simple callback would work in this situation.
Refactored the adb-client objects + minor fixes

New class for sockets: adb-socket.js
Everything else refactored into plain JS modules that call exported
functions on the client module directly

Made instantiator const in adb-device-poll-thread
Moved addon/**/android-tools to android-tools