More graceful shutdown improvements:

- Add the request controller to its own subsystem
- Add the ability to queue tasks
- Some code cleanup
As much as I would like to, I cannot take credit for this :)