Update copyright year in top-level Licence file.
Make XPath searching robust to nodes not being found.

Getting an attribute from a node fails if the node cannot be found, of course.
Code is now robust to this as there are now cases where we search for something
that may or may not be there.
Read interaction feed URI and query support with API.

If a server provides an interaction feed then it is read. Interaction support
can be queried (true/false) from the API.

This information is output in the server info script.
Add ratom and launchy gems to the runtime dependencies.

We will use ratom for parsing the interaction feed. Launchy will be used in the
run-workflow script to open interactions in a browser.
Read notifications from the interaction feed.

A method is provided in the Run class to read new notifications. The
run-workflow script will open notifications in a Web browser if it can.
Document the Interaction Service additions in the README.
Merge branch 'rh/interactions' into next

* rh/interactions:
  Document the Interaction Service additions in the README.
  Read notifications from the interaction feed.
  Add ratom and launchy gems to the runtime dependencies.
  Read interaction feed URI and query support with API.
  Make XPath searching robust to nodes not being found.
Add a bit more compatibility info to the Readme.

Also reference Semantic Versioning.
Clean up run caching code in the Server class.

Also fix bug where a run created by Server#create_run had its URI rather than id
used as its key in the runs cache.
Clean up variables and comments for run creation.

In the Server class there was some out of date information in the comments and
a couple of variables named badly. This was causing confusion so worth fixing.
Code clarity improvements.