Major rewrite of the JobQueue class.

The class is now using two dicts, one to store all the job descriptions using
their UID as identifier and one to store the queues of the different categories
(users in our case). The queue of a category is still a deque object (to stay
safe for queues with hundreds of thousands of jobs) but now contains only the
UID of the referenced jobs.

NOTE: currently, jobs get *never* removed from the "jobs" dict. We need some
kind of garbage collection here.

refs #135, #136, #273
Add remove() to JobQueue class.

refs #135
Add ToDo (handle non-existing UID's)

refs #135