Expose data streaming methods to OutputPort.

Data can now be streamed directly from an output port if it is a singleton. An
exception is raised if this is tried on a list output.

Tests included.
Add explanation to unsupported operations in PortList.

Also test that these are correctly thrown.