Handle content objects better

The ``ExtendedToStreamDecorator`` now handles content objects with one
less packet - the last packet of the source content is sent with EOF
set rather than an empty packet with EOF set being sent after the last
packet of the source content.

Change-Id: If908c1fe8e6fbe2ac3834a1cd99e7cd8ace45b3b
Honour stdout on TestProgram more fully.

We were failing to pass it into the runner, and this causes hilarity
for child runners which then end up with sys.stdout in their test
  suite, rather than their stub streams.

Change-Id: I19984102547f92493f330059928f7e0b3897c38c