Move interaction code out of Server, into Run.

This is because the interaction feeds are per-run now, rather than a single
global feed per server.

The Feed and Reader classes are merged now that each run has a feed and the
actual reading of the feed is done via the Run object's connection to the remote
server due to security requirements.
Simplifications for per-run feeds.

No longer need to check that each interaction belongs to the correct run and
also don't need to worry about getting interactions in a particular timeslot.
Get different types of notifications for a Run.

Can now get requests, replies, new requests or all notifications.
Expose the run notification/interaction locations.

This is to help using a proxy to pass these communications through so that we
can conform with the Taverna Server security model.
Add Run#log to get run logs.

Can be streamed, etc like the calls to download zip files.
Merge branch 'rh/int' into next

* rh/int:
  Expose the run notification/interaction locations.
  Get different types of notifications for a Run.
  Simplifications for per-run feeds.
  Move interaction code out of Server, into Run.
Merge branch 'rh/logs' into next

* rh/logs:
  Add Run#log to get run logs.