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.
I was trying to be consistent with [another case in the same file](https://github.com/conslo/rq/blob/patch-1/rq/queue.py#L143):
```
job_id = job_or_id.id if isinstance(job_or_id, self.job_class) else job_or_id
```
I debated using `self.job_class`, and the more I think about it that might actually make more sense. I will write a test though (just wanted to get this PR out there as soon as I found the problem).

If you still want I'll change it to check for string types.