Add ContentItem route registration

This implements the basic route registration functionality. Note that there is no explicit error handling at present, I expect that will come out in the wash as we work towards finishing the first-pass end-to-end publishing pipeline.