refactoring: move repo reading implementation out of dnf.Base.