Enhanced page publishing

Can handle multiple open edits without interference.
Widgets can be modified and changes saved.
Generalised code so soon can publish all widgets in a work space.