this refactor no longer enforces blocking operation of the process.
Instead it returns the process object to the caller who
can now run either proc.launch() for non-blocking operation
or proc.launch_sync() for blocking mode.
The non-block mode allos doing other stuff in the background,
for example controlling the rfemu while running a ping.
Change-Id: Ia6372e55a8829f722e40db537d9dfd63a94d1be9