Pass interfaces instead of filenames to linters, so we only open files once
This should reduce the duplicate open/unmarshal/validate across linters. The duplicate validation is because there are some errors that are common to all linters.
- open file
- split along yaml separators (
---
) if necessary - unmarshal to
interface{}
usingsigs.k8s.io/yaml
- pass map[filename][entrynumber]
interface{}
to each linter