Allow enqueue_job to override a synchronous setting on a queue. Add option to the @job decorator

Makes enqueueing a single job synchronously easier than creating a second queue object, and allows for the @job decorator to use a setting for asynchronicity. This only allows overriding in the async > sync direction.

Ex: 

    from settings import JOB_ASYNC

    @job('low', async=JOB_ASYNC)
    def do_something(...):
        ....