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.

I'm not sure if my intuition is right here, but it feels right.
Do you think we can change this to explicitly check for string type objects instead? Something like:
```python
if isinstance(depends_on, string_types):
    depends_on = Job.fetch(id=depends_on, connection=self.connection)
```

And if you can, a simple test would be awesome :)