Generalise publishing for specialist documents

* Core fields remain first class
* Everthing else is pushed into the 'details' hash field

This prevents the proliferation of custom presenters, branching and
special cases

*Only affects specialist publisher*