Switch to using the other Python Markdown library

adds fenced_code, footnotes, def_list, headerid and far more comprehensible (and thus presumably easier to fix/extend/maintain) handling for the tiddly-features (various links types, space link types, and transclusion).

I've tested this quite extensively, but it would be nice to have a glance from @FND to be sure I haven't done something dumb. Keep in mind that even if this doesn't look perfect the extent to which it is better than what we had before is pretty dramatic.

footnotes! zomg, footnotes!