refactor remote module
use separate process group for subprocesses to avoid signal propagation
fix timeout option not working in SyncRemoteProcess.run; add test
branding changes