4044: Clean up channel and pipe usage.

* Remove code for using one goroutine to copy stdout and stderr from
  channels to pipes. Instead, copy stderr from channel to pipe in a
  simple goroutine, and use give the child our own Stdout to use (we
  don't use it ourselves anyway).

* Rename functions (OutputChannel -> CopyChanToPipe, ReadLineByLine ->
  CopyPipeToChan).

* Add "stop" channel to shut down polling loop when child process
  exits.

* Check for errors when opening cgroup stats files. Report errors
  instead of displaying bogus stats.

* Split main() into run() and a short main() with os.Exit logic, so
  deferred functions run regardless of exit path.

* Close dangling filehandle when cgroup_cidfile succeeds.

* Fix slight divide-by-zero opportunity when elapsed==0.

* Fix condition triggering the "could not read cid file" error
  message.
4044: Add comments to "continue" statements.
4044: Merge branch 'master' into 4044-crunchstat-wait
Merge branch '4044-crunchstat-wait' refs #4044