Add queueing of activities, starting with harvests

- Also remove assertion that Harvester.run returns an Activity
Add HarvestJob test
Add Resque / Redis test for enqueing OAIHarvester

Note that we use Resque instead of Redis methods.
This will work if someone decides to set the queue's namespace to
something other than the default.
Add tests for Krikri::Harvester#enqueue
Focus OAIHarvester#enqueue test on this class

Make the tests specific to this harvester type.  Other tests for
enqueue have been added to the Harvester spec.

This adds a test to ensure that harvest options particular to the
OAI type are saved correctly with the Activity.
Move #enqueue to SoftwareAgent

- Remove #enqueue from Harvester and put it in SoftwareAgent, because
  all software agents will be enqueued.
- Create Krikri::Job, which is extended by particular types of jobs.