GitPoller: Allow polling all branches, or a filtered subset of branches.

The make the ``branches`` argument accept either ``True`` to poll all branches,
or a callable to filter the remote branches.
GitPoller: Tidied GitPoller work to fix PEP8 warnings
GitPoller: Fixed describe support for self.branches containing True or a Callable
GitPoller: Added TestGitPoller.test_poll_callableFilteredBranches
GitPoller: Store lastRevs branches with the non-bare names.
Merge branch 'git-poll-3' of git://github.com/jhol/buildbot (PR #1010)