실패 테스트로 새 요구를 고정
`case_insensitive`는 `rUsT`가 `Rust`와 `Trust me.`를 모두 찾는지 먼저 확인한다.
환경 변수는 `Config::build`에서 한 번 읽고, `run`은 저장된 `ignore_case` 값만 보고 두 검색 함수 중 하나를 호출한다.
`case_insensitive`는 `rUsT`가 `Rust`와 `Trust me.`를 모두 찾는지 먼저 확인한다.
`query.to_lowercase()`와 `line.to_lowercase()`로 대소문자 차이를 검색 조건에서 제거한다.
`ignore_case: bool`을 추가해 명령줄 인수와 환경 변수 해석 결과를 실행 단계로 넘긴다.
`config.ignore_case`가 참이면 `search_case_insensitive`, 거짓이면 기존 `search`를 사용한다.