Snapshot/Restore: Add repository validation

Adds automatic and manual verification of repository settings and access rights.

Fixes #7096 

can we please use ActionListener here instead and use a struct that holds the arrays? I really don't think we need these listeners