Refactor code into ShellCommand and ShellCommandRunner.

Remove all coupling to JQJobs, ShellJob app, etc.