Extends Jeremy Yallops notebook pretty printing.

In the file format json elements which carry text, code, html etc
are stored as lists of lines (with a corresponding newline).

The notebook javascript code expects the lists to be concatenated
into a single string.

We already used to do this on loading (if necessary) to be compatible
with ipython generated notebooks.

We now also do it on saving.  The upshot is the text and code within
the saved fileformat is much easy to track in version control systems.

Note that an added complication was the Easy_format printer needed a
bit of coaxing to do the right thing.