Fix quoting in source already existing message.
Minor whitespace and syntax nitpicks.
Use a decorator to build source class mapping.
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.
Clean up goofy setup.py indentation.
Add support for twitter's new draconic API requirements.
Dedupe source kind definitions.