Review follow up to Nico's review.

The arguments to createPublication() are now passed individually rather
than as a single object. The arguments have been restructured to be
avocet specific. As a result none of them are optional now. There are
still some auto-generated arguments which are required by Hilary for
now. This may change in the future at which point they can be removed.