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