Extension:MirrorTools/Upload

PullBot

 * rc: Get timestamp, etc. data. Switch to needsuploadnullrev status.
 * nullrev: Get null revision ID. Switch to needsimageinfo status.
 * imageinfo: Get path to download. Switch to needsimagedownload status.
 * imagedownload: Get the image. Switch to readytopush status.

API

 * Move any existing file out of the way
 * Save that file data to oldimage
 * Figure out the appropriate directory to save the new file to
 * Save the new file there
 * Save that file data to image
 * MirrorEdit to add the revision