add Table of Contents widget (reflection based input). file handle upload (hopefully redirect to the file service url later for GET). pull out markdown editor into it's own widget, and reuse in wiki page. use wikikey throughout. fix some tests.