[SERVINF-457] Clear "waiting for user input" message.

For notifications it shouldn't even show, but it was. For interactions it tends
to hang about a bit. This should hopefully fix this.
Remove odd save! in worker code.

Usually just use save for models so not sure why that one slipped through,
especially as in this particular case we really don't care if the status message
is updated or not.
Test that a run can be cancelled while waiting to start.
Test that a run can be cancelled while running.
Move to use the rubyzip 1.0 API.
Update Travis config to test ruby 2.1.2.

No longer testing ruby 2.1.0.
Bump version number.
Merge branch 'next'

* next:
  Move to use the rubyzip 1.0 API.
  Test that a run can be cancelled while running.
  Test that a run can be cancelled while waiting to start.
  Remove odd save! in worker code.
  [SERVINF-457] Clear "waiting for user input" message.
Update the Changelog.
Add rubinius and ruby-head as CI build targets.

Both are allowed to fail for now.
Add a test to check if a Run's delayed_job has failed.

If the job is present then its failed_at field is checked. This in turn now
allows us to delete a run if its job has failed but its state is still running.
Destroy failed delayed_jobs when destroying Runs.
Add a CITATION file.
Merge branch 'master' into next

* master:
  Add a CITATION file.
Don't use update_attribute(s) in the models.
Test cancelling a Run before it starts running.

If the run is queued but not running yet then it should just be removed from the
queue.
Add Run#pending?

Fix some of the fixtures (and tests) that were wrong relating to this method
being absent until now.
Add Run#initialized?
Add Run#incomplete?

This is not quite !complete? but is a catch-all for pending?, initialized?
and running?
Allow cancelling a run if its delayed_job fails.