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 
You will need to change all subclasses as well.

I'd prefer that you leave it as it was and use `reloadCallback` for now to avoid further regressions.
We can look into using your approach in OC 8.