Refactor system description validator

Unify additional_files_* and missing_files_* methods with an additional
type parameter instead of separate it as own methods.
This is not an improvement. Moving part of a method name to a parameter creates potential for more errors and is harder to read. What happens, if there is a typo in the parameter for example? This doesn't give an error message, but leads to undefined behavior. If a method name is mistyped the interpreter gives a clear error message.