Fix #53, Fix #56: Don't corrupt notebook.json when no oauth_client_id
Fix #53, Fix #56: Don't corrupt notebook.json when no oauth_client_id

When there is no `c.NotebookGist.oauth_client_id` in jupyter_notebook_config.py,
`self.config.NotebookGist.oauth_client_id` is a lazy value, which can't be
serialized to JSON.  This crashes the writing of `notebook.json` by Jupyter,
and corrupts the `notebook.json` file.  This fix makes sure that value is a
string, otherwise it just sets it to `None`.  When `None`, the frontend will
helpfully warn (as it always has) that the user hasn't set up their oauth ids.

mozilla/jupyter-notebook-gist,mreid-moz/jupyter-notebook-gist,mozilla/jupyter-notebook-gist,mreid-moz/jupyter-notebook-gist