More graceful shutdown improvements:

- Add the request controller to its own subsystem
- Add the ability to queue tasks
- Some code cleanup