Refactor cookbook notification queueing

:fork_and_knife: 

I'm not sure if I'll be able to reuse the CookbookUpload model as part of the data import, but this factors notification job queueing out of that model so that it wouldn't be a huge nuisance to do so. It also changes the default Sidekiq testing strategy to be more like ActionMailer. In anything but an end-to-end test, it should be the exception, not the rule, that the execution of a job affects the result of a test.