Enhancement: Validate include/exclude patterns before restoring

Patterns provided to `restore` via `--exclude`, `--iexclude`, `--include`
and `--iinclude` weren't validated before running the restore. Invalid
patterns would result in error messages being printed repeatedly, and
possibly unwanted files being restored.

Restic now validates all patterns before running the restore, and aborts
with a fatal error if an invalid pattern is detected.

https://github.com/restic/restic/pull/3819
