* Create `isAzureError` function
* Throw 404 is info file is not found
* Use `isAzureError` in GetOffset function
* Make `GetUpload` match others without named returns
* Follow code style for `isAzureError` not returning but setting `err` to value
* Return not found when the blob is not found
This will also be triggered when the blob is being uploaded but not yet committed
* Return not found if blob is not found when getting offset
* Don't return error in GetUpload if GetOffset returns `handler.ErrNotFound`
* Add azure-storage-blob-go dependency
* Implement Azure BlobStorage store
* Add AzureStore Mock test
* Refactor Blob interfaces to use uppercase fields
* Refactor and remove the Create function
When getting the offset, and we get the status code BlobNotFound, we can say the offset is 0, and start from the beginning
* Update the mock
* Refactor error checking of GetOffset to actually check the service code
* Begin testing azurestore
* Write more tests
* New feature allows to set access type on new containers and blob access tier
* Write more docs
* Upgrade azure-storage-blob-go to v0.13.0
* Remove AzError, not needed
* Update link to container access type information
* Remove ?toc from link in comments
* Remove trailing spaces from workflow
* Run tests with go1.15 and 1.16
* Don't fail fast
This lets all other tests complete, and makes it easier to see if it's just a one-off fail, or on different OSes and versions
* Remove darwin 386 from `build_all.sh` script
Removed in go1.15 https://github.com/golang/go/issues/37610
* Update go version in `Dockerfile`
* Compile for Apple Silicone (darwin arm64)
Only go1.16 supports it