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
 Made small stylistic changes
add event with change universal handler
add event handle properties
Fix stupid bug
Fix stupid bug V2
Fix. List argument, bad way
Sync upstream
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