Configurable Markdown extensions

This lets the YAML configuration specify a list of Python Markdown extensions
to enable (on top of the default set). This is especially handy, for example,
when you want nice typography via the SmartyPants extension.
Good question. I added a test (see below) and the Markdown module just seems to ignore duplicates. We could use a set here for future-robustness, but it is not currently necessary. Have a preference?