Working queue

As per usual, comments are welcome :)

Fixes #380


Right, some process needs to call `WorkingQueue.cleanup for this to happen. The cleanest way is to have a periodic process like `rq-scheduler` to do "garbage collection" process but we don't have that yet.

So I think our options are:

1. Make this the responsibility of monitoring tools like `django-rq` or `rq-dashboard` (probably called right before the `WorkingQueue` is shown to user.
2. Embed this into `WorkingQueue.count()` or `WorkingQueue.get_jobs()` so when called, they always return the right result.

For now, I think I prefer the second alternative. Any other ideas?