Upload: refactor file versioning
Merge pull request #2921 from JayDevlin/2904-upload-file-versioning

BUG Upload: file versioning uses illegal underscore in filename