make adb server start synchronous

Making calls to adb before a adb server-start call has completed even
when adb server may have been already running is causing problems with
some of the following adb calls. Changes the start-server implementation
to be synchronous.
Improve logging and tracing 

Adds tracing to android.core plugin. More logging in areas where
exceptions are handled. Also removes the system prints on trace. It is
all trace infra from now on.