Currently, filepath.Join is used to join path fragments that are supposed
to be created on remote storage backends. This could theoretically cause
problems when the separators used by the client and the remotes do not match.
It's unlikely this causes problems right now, but it's definitely better to
rectify it before it causes further confusion.
This was raised in #541
* Print context in log field instead of prepending to message
* Log messages on pruning do not need a description anymore
* Remove redundant information from logs and errors
* Scaffold Azure storage backend that does nothing yet
* Implement copy for Azure Blob Storage
* Set up automated testing for Azure Storage
* Implement pruning for Azure blob storage
* Add documentation for Azure Blob Storage
* Add support for remote path
* Add azure to notifications doc
* Tidy go.mod file
* Allow use of managed identity credential
* Use volume in tests
* Auto append trailing slash to endpoint if needed, clarify docs, tidy mod file