Add file-admin based on Azure Blob Storage #1691
To make the Azure and S3 file-admins easier to consume, their dependencies were included as extra dependencies on the file-admin package (see edfb07e).
This pull request also adds unit tests for the new file-admin implementation by generalizing the unit tests for the local file-admin (see b3ccfd4). During CI, the unit tests are run against an emulated blob storage service provided by Azurite.
Generalizing the unit tests for the new file-admin implementation revealed two assumptions in the BaseFileAdmin class:
In addition to the unit tests, the new file-admin backend was also manually verified against a live Azure Blob Storage account via a test app.