Move functions relating to notebook JSON representation, to a new file

This file handles conversion to/from on-disk format (which requires splitting/joining mulitline strings, see IPEP 17).  It also handles creating a new notebook.  The new notebook creation is updated to the v4 format described in IPEP 17.
Merge pull request #25 from KesterTong/notebookmodel

Move functions relating to notebook JSON representation, to a new file
Update file format to follow v4 spec

Before, filename was being stored under notebook metadata, which is not the case in the v4 file format.  Now the filename is always the name of the actual file.