test: execPath and which node are not the same

Upstart job has the node process.execPath in it, but test was asserting
this was the same as `which node`, it is not if the node in the path is
a symlink.
Add LB API for remote control using pmctl

- rename './'.deploy to main, strong-pm is not strong-deploy anymore
- remove dead runCommand and reportRunError from index.js
- rename setupServer arguments to make meaning clearer (I thought enable
  was a boolean, and runConfig was a function)
- increment strong-control-channel version to ^1.x
- Add some XXX as general suggestions, I'll implement later
- Refactor server and disable unused REST APIs
- Add deploy support to REST API
- Add REST service:actions API tests
- Add support for pmctl commands
- Fix pmctl test check if heapdump file exists
- Make cpu-stop consistent with heap-snapshot
- Models updated when a worker is run
- No local control doesn't mean we shouldn't accept requests from our
  parent process.
- Pass commands to strong-pm with filePath for intended destination
- Factor usage messages into a text file
- pm: fix --no-control, it was requiring a value
- pm: listen on process ipc, even with --no-control
- simplify _runCurrent, use 'prepared' event
- STRONGLOOP_PM sets default PM control point, url or path