Git plugin

Initial implementation.  Fixes #20.