Upload files with hashed filename - updated

This is a continuation of #587, I just moved the branch to the main repository.  Adding a data migration to move existing uploaded files over to the new naming scheme.