Add a pull controller, related to #37

This controller can be used to do "git pull remote branch" to keep a local
branch in sync with the branch on our remote.

This allows for external tools or manual editing via the Github interface
to play nicely with our local repository.