Depend on unsaved job ids

The bug fix I just did to allow `depends_on` in `Job.enqueue_call()` to be a `Job.id` used `Job.fetch()` which required both a network call, and that the depended job already be saved in Redis (which indirectly also required a network call).

Since you could already pass in a `Job` as `depends_on` that hadn't been saved yet, I changed `Job.enqueue_call()` to use `Job()` instead of `Job.fetch()` to allow use of un-saved `Job.id`'s.