This diff adds a function that calls all necessary endpoints to upload a media file to Blob service. It has 3 stages:
1. Create a holder and assign it to a blob (identified by blob hash)
2. If the blob content doesn't exist yet, upload it
3. When the above succeeds, upload blob metadata to keyserver
Depends on D7619, D7648