Improve external storage configuration UI

This PR will track several changes to the external storages UI. When complete, fixes #7737, fixes #7738.

First change is the highlighting of fields that are not optional and are not filled.

Fixes #10511, fixes #8174 
With the OCA\Files\External\Exception namespace, I'm just doing the same as the files_encryption app. I agree having multiple namespaces in one file is bad (especially if a class has the same name as the other namespace!), but I couldn't think of any other way to implement this other than having a separate file for each exception, which is just stupid.