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.
Fixup documentation regarding 'nextBuild' function
broke out _defaultMessageIntro()

Broke out code for generating introduction text of build result
email from buildbot.status.mail.defaultMessage() function into
a new function.
broke out _defaultMessageProjects()

Broke out code for generating project list info for build result
email from buildbot.status.mail.defaultMessage() function into a
new function.
broke out _defaultMessageSourceStamps()

Broke out code for generating source stamps info for build result
email from buildbot.status.mail.defaultMessage() function into a
new function.
broke out _defaultMessageSummary()

Broke out code for generating summary text for a build result
email from buildbot.status.mail.defaultMessage() function into
a new function.
broke out _defaultMessageURLs()

Broke out code for adding URLs to a build result email
from buildbot.status.mail.defaultMessage() function into
a new function.
unit test on mail.defaultMessage() function

Added unit test on buildbot.status.mail.defaultMessage() function
Merge branch 'git-poll-3' of git://github.com/jhol/buildbot (PR #1010)
Merge branch 'delivery' of git://github.com/krf/buildbot (PR #1038)
Merge elmirjagudin/buildbot:mail-utests (PR #1039)
factor out assertRegexpMatches, which doesn't exist in 2.6