ESDEV-2156 Create metadata validator

(squashed commits)
validation fails when extended file does not exist
validation fails when module files does not exist
refactoring to nicer structure
module validator factory added
possibility to get metadata or file validator
code refactored in to nicer structure
throw exception if validator does not exist for requested type
comment to method added
possibility to get module files added