Work on specializing domain job control for qemu/libxl, wrote a simple
hash table to replace the alist in virjobcontrol.c.

I've written domain job control in such a way that I should be able to
just change the implementation of the job control functions in
qemu/libxl without having to touch any other code. The api for the
domain job control is somewhat limited because of this.

I also spent some time looking through the storage driver code
and marked a couple places where I should replace existing code with job
control code. I think I'm going to put the job control struct (whatever
that turns out to be) into the storage pool object.

The hash table I wrote is fairly simple, since it uses job ids as keys
it doesn't actually hash anything, it just uses the id as the hash
value.

I also started (well I wrote a struct) work on a generic job control
api for multiple jobs. What I have now is a api for indivual jobs, which
is good and allows specialization of job control (like I'm doing to
reimplement the existing job control), but a generic higher level job
control api would be nice to have, and I can use that for job control in
the storage driver.