Snapshot/Restore: Add repository validation

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

can we verify this is never null? otherwise maybe we should write optinalString()?