Fixed: changelog crashed when publishing / depublishing

This was due to the way the changelog title was determined; the
updateSingle function did not pass a title along. The fix is to check if
a non-empty title could be derived successfully, and reload the entire
object from the database when there is no title.
Only show changed fields in changelog
Differentiate between status changes and regular updates in changelog