* Initial file import/export
* Add renderer tests
* Refactor renderer
* Depend only on EarmarkParser
* Add test for export
* Add import tests
* Improve import
* Document the ExMd file format
* Rename ExMd to ExMarkdown
* Rename ExMarkdown to LiveMarkdown
* Build iodata when exporting a notebook
* Persist metadata as a single JSON object
* Move Markdown to LiveMarkdown.MarkdownHelpers
* Make LiveMarkdown private
* Always move primary heading to the top during import
* Hint the user not to use heading 1 and 2
* Return a list of messages from the import function
* Update headings warning
* Add import and export test for non-elixir snippets
* Merge markdown renderer into MarkdownHelpers
* Add import messages on AST rewrites
* Define session data structure and some operations
* Make code evaluation request async, so that we don't need an intermediary process
* Simplify id typespecs
* Make operation application composable
* Keep a separate evaluation queue per section and actually support concurrent evaluation
* Small fixes
* Validate queued cell type and set evaluation timestamp
* Apply review suggestions
* Add tests
* Store evaluating_cell_id instead of section status
* Add dynamic supervisor for managing evaluator processes
* Some fixes
* Refactor operation application
* Upon cell deletion mark dependent cells as stale