merging in the rewritten queue code and cleaned up linux IPC stuff

This change has been around for over a year now, and it's time to merge
it in, because it makes that code much easier to deal with.