Cater for the case where we raise an exception creating flags
Only use pumps for streams we are attached to.

I tried putting this into a separate make_pumps function but when I do
it complains with "IOError: [Errno 9] Bad file descriptor" when it tries
to set them as nonblocking...
Failing test for non-interactive.
Merge branch 'master' into non-interactive

Conflicts:
	features/steps/step_definitions.py
Add missing feature (failing).
Fix race condition by fetching sockets before starting container.
Pass **kwargs to docker client.
When we only have stdout and stderr it becomes multiplexed

This means we have an 8 byte header that we have to care about.

I'm not sure if it's just when we don't have stdin, or if it's when we have
stdout and stderr. (i.e. I don't know the behaviour if only stdout or only
stderr is attached)
Merge remote-tracking branch 'delfick/multiplexed' into non-interactive

Conflicts:
	dockerpty/pty.py
Add contributors to README
Commit failing tests for review.
Only pull image before_all.
Finish adding cukes (failing).
Fix race condition in test using a sleep().
Fix issue with demuxing on stdin.