I really don't like this change.  It puts specific issues about particular commands into the core run method, which should be left pure.  Also, if a different application has a string of "bad username or password", it won't be caught here.  I think the command-specific checks for these kinds of things belong in the command-specific classes themselves (i.e. LinuxAdmin::SubscriptionManager should check it's own error strings).

I understand the want to have a common check for credentials, and perhaps we can do that in the future as a helper method or something if another module needs credential checks.  For right now, let's keep it in SubscriptionManager.