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.
Use an autogenerated ID for the User fixture.
Use autogenerated IDs for the Workflow fixtures.
Use autogenerated IDs for the RunPort fixtures.
Use autogenerated IDs for the Run fixtures.
We can't use autogenerated IDs for DJ fixtures.

No idea why, but add a comment for future reference.
Add a test for Run#initialized?
Merge branch 'better-fixtures' into next

* better-fixtures:
  We can't use autogenerated IDs for DJ fixtures.
  Use autogenerated IDs for the Run fixtures.
  Use autogenerated IDs for the RunPort fixtures.
  Use autogenerated IDs for the Workflow fixtures.
  Use an autogenerated ID for the User fixture.

Conflicts:
	test/unit/taverna_player/run_test.rb
Use the latest t2flow gem for the tests.
Tidy up the Gemfile.