Refactor embedded process manager

/to @sam-github 
/cc @seanbrookes 

This reworks the embedded process manager. Now requests are queued when the process is starting. The `.strong-pm` directory is now removed when strong-pm is started and when it exits.

Also proxy errors are sent along with the original request to prevent the arc app from crashing.
```
function(code, signal) {
reason = signal || code;
 pm.log('exited with reason: ' + reason);
  pm.exitReason = reason;
   if(reason !== 0) {
      pm.setStatus('crashed');
    } else {
      pm.setStatus('stopped');
    }
```

You don't handle death by signal, it would be treated as not crashed.