- Replace plain StringList with a list of <String, timeout> pairs,
and run that instead. All code paths still use the default 10sec
timeout and there's no way to change that.
- Move CommandList so it can be used from more modules than
just ShellProcess
- Allow a CommandList to run itself. This centralizes
code for executing one or more commands and simplifies
the ShellProcess module.
Various small cleanups:
- mention instance id in log message
- code formatting / style