Reduce redundant systemctl calls by caching service status data during
discovery phase. Previously made 1+2N systemctl calls (discovery + 2 per
service), now makes only 1 systemctl call with cached lookups.
- Cache service status info (load/active/sub states) from list-units output
- Eliminate separate is-active and show calls per service
- Add fallback to systemctl for cache misses
- Remove duplicate user service discovery logic
Performance improvement: 21 calls → 1 call for 10 monitored services.