Added ability to assign input/output ports to task ports directly.

This removes the need to define the types and annotations when a
port is an exact copy of another port, particularly useful with nested
workflows.
Support Unicode for XML element and attribute contents