Be more fault tolerant. Handle case when job class given does not exist at all in clean way
Only ignore ResqueException on job instance creation

Other types of Exception (say, \Exception) may be because of other
issues, such as the Redis client disconnecting. In those cases, the job
shouldn't be simply failed; the wrapping code should handle the
exception and decide whether to continue.
Defensive programming against payload/queue/id not existing

Just do the sensible things:

 - If no ID is available on the job payload, then there is probably
    no status object to update. (Tracking completely disabled?)
 - If no queue is available, prevent a PHP warning
Change expectation on bad job class

Don't expect an uncaught exception. Instead, reserve to catch
the bad class and process it through the failure backend, eventually
returning null (no valid job to reserve).
Merge pull request #10 from vend/bugfix-dequeue-nonexistant

Allow dequeuing of non-existant jobs without throwing an exception