Add REST API for retrieving, storing and updating config

This is the first (and easiest) step towards persistent configuration of the notebook web app frontend.

The idea is that a page requests a config 'section', which I envisage being at a similar granularity to templates, so each page only needs to request one section (or maybe one for that page plus a single common section). When settings are modified in the frontend, it can save the changes with either a PUT or a PATCH request. I expect it to mostly use PATCH so modifying things in one tab doesn't clobber unrelated changes in another. The frontend code, not the server, knows about defaults, so from the server's point of view, all it needs to do is store a JSON object.

For now, I'm saving the JSON in files in your profile directory called `nb_*_config.json` (e.g. `nb_dashboard_config.json`). The naming, location, format, etc. of these are all open to discussion.
copy/paste.