Fixed package upload to save files with normalized version

This fixes the issue in #811. It's a dead simple code change, with a fix to unit tests to match. The PackageFileServiceFacts.cs file, while present in the repo, was no longer present in NuGetGallery.Facts.csproj and was quite out of date, so I quickly updated it and added scenarios for the new change. Also, I added some helpers for working with Mock methods that return Tasks because the default Moq behavior of returning null with no Setups causes NullReferenceExceptions when you try to await the result.

# Deployment Notes

## Updating the current deployment with this new code
- [ ] Merge it in to QA, using a PR or local merge
- [ ] Rerun "galops npf" (Normalize package files) using the instructions from the previous PR to update files uploaded during previous QA testing

## Rolling back the feature
If we decide we want to just roll back the feature in the current sprint and deploy it next sprint from the start again:
- [ ] Run "Update-Database -TargetMigration AddPackageLicenseReportSproc" against QA DB to clean it up
- [ ] Rebuild QA branch without anurse/811-normalizedversion (see @anurse for assistance)
- [ ] Push the new branch up to GitHub to redeploy