Dual buffer with automatic switch. No performance hit for single process.
allow utilities in test_message_spec to be reused

km can be specified, but default behavior remains the same (global KM)
add basic print tests for kernel

tests new mp.Process behavior for PR #2734
use Session to protect from fork-unsafe sockets
use zmq to protect subprocess stdout after fork
add test for raising error in forked process
play nice with py3k

python 3 doesn't seem to like the parametric,
plus a few missing print parentheses
subprocess iostreams only send on flush
cleanup unused symbols in iostream

and add docstring / copyright
resolve rebase conflict

s/sub_channel/iopub_channel/
workaround Windows lack of fork in subprocess tests

simple Process(target=f) doesn't work for interactively defined f.
allow disabling subprocess pipe
disable subprocess pipe in inprocess kernel

because it isn't using zmq anyway
subprocess outstream forwarding doesn't work on Windows
add mission io
flush on newline in subprocesses

reduces issues with mp.Pool
allow adjustable subprocess flush limit
ignore error waiting for pipe flush message
add DisplayFormatter.active_types

allows kernel-side default whitelist of display formats.
set default active_types to plaintext only in terminal IPython