Persist JOB-ID 

When a new job is scheduled it will generate a JOB-ID and will pass this to the adapter along with the arguments. Before execution the JOB-ID is extracted and assigned to the job instance to be used in logging. It very useful for debugging (for example if you have retries you can easily grep the log file after the JOB-ID). 
I started this by working on using the JOB-ID from the adapter (where available) but it seems that only sidekiq can do that so I've decided not to use the JOB-ID from the provider for now.

Also a few small additions:
- log the JOB-ID on enqueueing
- log the queue where the job was dispatched
- refactored resque adapter using enqueue_to/enqueue_at_with_queue methods
Not loving this method signature. Not entirely sure how to improve it, but having to pass nil first seems no bueno.