Add getProjectBranches to Source

This lets us ask a source for all of the branches for a project.
This uses the git protocol for now, but this can get much nicer
in the future if we switch to using Gerrit's REST API.  It should
also be easy to do with github.

The included comment indicates why it's being added -- implementation
to follow in subsequent changes.

Change-Id: I0dfcd61f343a235dcf935aea434b9772d6e746d9
4 files changed