(RAZOR-190) Add command to set repo source

Add an set-repo-source command that will allow the user to set the source of an existing repo. The user can also supply a 'refresh' option that can be true or false (defaults to true) that will force the repo to refresh its content from the new source.  This is required, because if you create the repo and then policies/tags etc only to realise you botched the definition of the repo, you first have to pull down all the dependants (policies and the like) to delete/recreate the repo.
(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.