Pass the default worker connection into the started and finished registries

In practice all the registry methods are called with pipelines, but if no
connection is passed in when instantiating the registry and the connection
stack is empty resolve_connection will raise NoRedisConnectionException.
Merge pull request #1 from jtushman/redis-based-shutdown

Redis based shutdown
Merge pull request #431 from negz/worker-redis-bug

Pass the default worker connection into the started and finished registries
allow depends_on to be a job id or a job itself

Other parts of the code (i.e.: the `.create()` method) allow the `depends_on` kwarg to be a `Job` object *or* a job id. This is an attempt to allow that same idea within the `.enqueue_call()` method for a queue. Since this part of the code requires actually knowing the precise redis key for the job that's depended on, my intuition is that a `.fetch()` is the only way to solve this.
use internal job_class for check
add PyCharm .idea folder to .gitignore
test for id based job dependancies
Merge pull request #445 from conslo/patch-1

allow depends_on to be a job id or a job itself
Merge branch 'master' into redis-based-shutdown
Merge branch 'nvie' into redis-based-shutdown
fixing status with merged in test