REFACTORING

minigrep 리팩터링은 실행 흐름과 프로그램 로직을 분리하는 과정이다

`main`이 커질수록 테스트와 에러 처리가 어려워지므로 설정, 실행, 핵심 로직을 나눠야 한다.

Args인수 파싱은 Config 생성으로 모은다.
Config`query`와 `file_path`를 목적 있는 필드로 묶는다.
Run파일 읽기와 검색 로직은 `lib.rs`에서 테스트 가능하게 둔다.
Error사용자에게 의미 있는 실패 메시지를 한 곳에서 처리한다.
방향: `main.rs`는 실행 조립, `lib.rs`는 테스트 가능한 실제 작업을 맡는다.