salt: load ceph modules at function scope

This is what already happened until the timeout
stuff in 58242677e.  Imports were moved up to
module scope for defining exception classes, result
was that whole module needed reloading on transition
from ceph not installed to ceph installed.

Revert to importing at function scope, and make our
exceptions not inherit from rados.Error so that they
don't care.

Fixes: #8566

Signed-off-by: John Spray <john.spray@redhat.com>
Merge pull request #138 from ceph/wip-8566-jcs

Wip 8566 jcs