brew-doctor: warning the external commands with conflicted name

Per conversation on https://github.com/Homebrew/homebrew/pull/34732. 
I think at least we should warn users if there are external commands with conflicted name in `brew doctor`.
Is there a reason to use `Hash.new { [] }` instead of `{}` here?