Perform service availability checks first for all service states

This commit makes service states return more meaningful/accurate
information by first checking if the service is available before trying
to do anything. Fixes #5464.
slight comment tweak for consistency
Merge pull request #5508 from terminalmage/issue5464

Perform service availability checks first for all service states