Skip queue

You could view this as an alternative (and less-code) implementation of #452:

I ran into a situation where it would be very advantageous to queue a specific job *now* (instead of the end of the queue). So I implemented a `skip_queue` option the the various `Queue.enqueue` methods, which does an lpush instead of an rpush.

To accomplish #452 with this you'd enqueue each job specifying `skip_queue=True`. A better way to do this might be changing the default for `skip_queue` from `False` to `None`, and having the lowest level method here (`Queue.push_job_id()`) pull a default from the `Queue` (which we could set at initialization, default `False`). If this is desired renaming the argument from `skip_queue` to something more like `fifo` would likely be a good idea.

If the maintainers think this is a good idea/approach I'd be happy to implement it as part of this PR.