Add support for nice filenames in QSD Media.

This allows access via the filename instead of the hashed filename.

If a file is uploaded with the same filename again, this will overwrite the first one. But hashed names currently get overwritten as well, so this isn't a problem. Class files have class codes added so they won't conflict. In the future hashed names should just be a random string instead of a hash possibly.