WIP: Refactor certificate agent and queue

Details to follow...
I don't like putting this inside here. I would prefer that the queueing layer was just fetching and validating requests that it returned to the outside world, or formatting and placing requests on behalf of the outside world. I can see the merit it wrapping the certificate_generator calls so that, e.g., there's a uniform configuration and marshaling interface between create_pdf and certificate_agent, but I really don't think that this is the right place for this.