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
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
Cleanup
Added doc, example for uploadDone hooks
Merge branch 'multiple-file-upload' of git://github.com/jpommerening/buildbot

+autopep8
Add build steps for VC12, VS2013, and MsBuild12