All exercise page

This should be the final piece of work on this feature for a little bit. Plenty of room for improvement in cleaning up the code; overall approach should be centered around starting with an ipynb 'template' page rather than building the entire page from scraping; should also dig into jinja2 templating.