Improve plist_caveats and brew-services

1. Use `brew services` to replace `launchctl` in plist_caveats.
2. Minor bug fix for brew-services.

Note there's still a bug in brew-services, see https://github.com/Homebrew/homebrew/issues/30628.
Then all I can say is agreeing to disagree. Nevertheless, current code has one thing incorrect that `Kernel.system "/bin/launchctl list #{plist_domain} &>/dev/null"` will not return the real state for root services.