No-socket ADB devices

Listing devices re-uses information from the device-tracker. It's still enabled in the native code via sockets because some of that native code needs to be there for cleanup things, let me know if I should disable the socket entry-point.

Depends on #755, I will rebase to keep this up-to-date with that pull-request.