Refactor system description validator

Unify additional_files_* and missing_files_* methods with an additional
type parameter instead of separate it as own methods.
You are introducing additional conditionals. This makes the code more complex.