Add support for updating git-backed markdown directories.
Add support for updating git-backed markdown directories.

I'm not a fan of the use of mixins here, as this code is starting to
look like data flow processing rather than inheritance. However, I still
want to retain the one-to-one mapping of source kind to behavior;
the alternative of having MarkdownSource handle something like file://
and git:// urls differently feels overcomplicated.

I settled with mixins for now as a simple way to implement this
functionality without a bunch of restructuring.

chromakode/been