Handle storages not being available in webui and webdav

Adds `\OCP\Files\StorageNotAvailableException` which can be thrown by storage backends for when previously configured storage backends are (temporary) not available.

This exception is handled by both the web ui (show an error message) and WebDAV (throw a 503)

For #9088 

cc @PVince81 @DeepDiver1975 @schiesbn 
I checked the subclasses and the ones that need it do override `reload()` and `reloadCallback()` so the code you added won't have any effect there, which is fine.
We don't need that logic for the shared file list or mount point file list.

So you can ignore this comment.