Refactor callback code out into its own module.

Taverna Player uses callbacks everywhere but the code to use them was being
repeated. Factor it out into its module for safer reuse.
Fix classname typo in port model templates.

Input and Output should have been RunPort::Input and RunPort::Output,
respectively.
Merge branch 'maint-0.2.0'

* maint-0.2.0:
  Fix classname typo in port model templates.
Merge forgotten change-log file from 0.2.1.