Add docinfo API in extension

Resolves #1162
I also think the position should be static (not an instance method). And it should allow for multiple values, defaulting to `:header`. In this way, I think we can get away with separating out the `:header` and `:footer` positions statically...meaning we store them as docinfo_header_processor_extensions and docinfo_footer_processor_extensions. That does limit the position values, but at the moment those are all we've got, so it's misleading anyway to have more than those values. We can always change it internally once we have more positions (if it becomes necessary).