Option to spew subprocess streams during tests

This supersedes PR #4268.

Run the tests with '--subproc-streams show' to show output from
subprocesses (kernels, IPython.parallel components) in the terminal, or
with '--subproc-streams discard' to send it to /dev/null. By default (or
with '--subproc-streams capture') the output is piped, captured and
displayed only when tests fail. But in some situations, a test fails
because of an error which actually occurred earlier, so you have to see
all the output.
Merge pull request #4690 from takluyver/tests-subproc-streams-option

Option to spew subprocess streams during tests