Delete orphaned uploads

If an upload is incomplete, it takes up space in the upload database and in the assetstore.  For S3 assetstores, these count towards disk usage even if never completed.  Two endpoints were added: system/uploads GET and DELETE which list an discard these partial uploads.  The uploads can be filtered by upload ID, user ID, parent ID, assetstore ID, and minimum age.  They can include untracked uploads (which can occur, for instance, on S3 if you had deleted the assetstore prior to this and then recreated it).

Partial uploads are deleted when an assetstore is deleted.

The web client S3 uploaded is now partially tested.
OrdinaryCallingFormat uses bucket names as path prefixes rather than as subdomains.  I'm using the OrdinaryCallingFormat when communicating with my mocked server.