(RAZOR-188) Add a refresh-repo command

This is useful in the following scenarios:
   - The content of the repo source has been updated and needs to updated on the razor server
   - A new razor server connected to an existing database (used by existing razor servers) is brought online.  This command will 'refresh' the repo onto the new server without wanting to manipulate the database.

This works by having the unpack_repo job remove the destination directory and recreate it before extracting the repo archive.  The refresh method simply publishes the make_repo_accessible job.
(RAZOR-215) Cant use expect not_to have_published

Trying to test that a job is not published on the queue fails because the spec helper tries to take a slice of the queue, which is an array, starting from the end of the queue as it were before the task was run to the end of the queue after it was run.  When the task does not publish the job, this slice actually results in a nil.