Engine.ParseJob: create a new job from a shell-like text command.
Engine: register builtin command 'commands' to list all dynamically registered commands.
Engine: clearer job error reporting

* Job.Error and Job.Errorf always print a newline.
* Avoid redundant prefixing of error messages.
restserver: print messages on the job output instead of stdout
Improve and simplify the docker binry.

* Disable engine logging by default: no more noise on stdout.
* Code cleanup: use Engine.ParseJob to parse plugin commands.
* Allow no command argument. For example to test plugin commands.