Added MultipleFileUpload step.

Use this to upload multiple files at once. Supports all the options of
FileUpload and DirectoryUpload. Makes use of the "stat" command to
determine the kind of file that is uploaded. "Skips" if slavesrcs is an
empty list. "slavesrcs", "masterdest" and "url" are renderable.

    transfer.MultipleFileUpload(slavesrcs=['some/file', 'some/directory'],
                                masterdest='targetdir')
Refactored FileUpload test
Type (timestamp -> srctimestamp)

Yikes! Thank you, Travis!
obligatory pep8 commit
move hgbuildbot to contrib and add warnings
Manual, release notes for MultipleFileUpload
added the "missing commit" to the rebased branch
don't override `time` Jinja2 parameter
escape author names in feeds

Fixes #2596
Merge branch 'waterfall-pagebuilt' of git://github.com/djmitche/buildbot
Correct bug in example code

Fixes #2598.
Merge branch 'hgbuildbot-to-contrib' of git://github.com/djmitche/buildbot
only check files that still exist
refactor buildstep.py into smaller bits (backport from nine)
Added methods uploadDone and allUploadsDone
uploadDone and allUploadsDone may return deferreds
Added failure test cases
Added subclassing test
Pulled runTransferCommand up to _TransferBuildStep

Formerly runUploadCommand of MultipleFileUpload.
The runTransferCommand function adds a callback to extract the result
from the command instance and (optionally) ann error callback to
cancel the command's writer.
Added test cases for upload errors