Refactored logic so that main passes off directories, and notebook handles the actual
generation and looping.
Added support for passing listeners into the conversion, which enables things like
metadata tracking for building category pages, etc.
Renamed conversion -> notebook.
Added note, which handles conversion of a singular page of the notebook.
Refactored header so that it is no longer responsible for reasoning about formats
just parsing the header and returning it.