Rewrote cluster credential sharing

Local credentials are now kept public, with 'username' and 'password' accessors for when you just want the credentials, and don't care where they came from.

Both classes' accessors check the other class' local (+ keyring) credentials, but never the other class' accessors, to avoid infinite recursion

Fixes #1
Service and Command seem like they'd look better together