Add Protocol method set_nonblocking
Remove close_all_fds from the queue worker module

These fds aren't open in the parent queue manager, so there is no need to
close them in the queue workers.
Queue logging consistency changes
Remove tail recursion, rely on the main loop
Queue manager refactor to use the same self-pipe and main loop layout as the queue workers