Use the SHA1 hash of encoded media for filenames

This also enables all remote deletes to be handled through Celery
tasks, instead of occurring when media is deleted.
Add get_absolute_url to remote storage instances

This exposes the underlying storage url method, based on the
configured storage backend.