Don't connect to Redis when sidekiq/testing is loaded

When sidekiq/testing is loaded, Sidekiq doesn't attempt to connect to
Redis, so it isn't required to be running when tests/specs are run.
Since unique jobs checking is dependent on connecting to Redis, it
either needs to be mocked or disabled during spec runs. This cut simply
disables unique job checking when `Sidekiq::Testing` is enabled.

To make testing simpler, the `#call` method was broken up into several
smaller methods, including a `#unique?` predicate method that handles
checking if the job being queued is unique.

The test helper now loads sidekiq/testing and Mocha was added as a
development dependency to provide testing coverage for this new
functionality.