Improve catching of exceptions when creating storage objects

Catch all exceptions, and include their message in err_func.

Signed-off-by: Andy Grover <agrover@redhat.com>
Standardize on no periods in exception messages

Do not terminate our exception messages with a period. This follows how
they are used in the Python stdlib.

Also remove some str() conversions where the "%s" in the format string
should already be doing the conversion.

Signed-off-by: Andy Grover <agrover@redhat.com>
Remove some help text from an exception message

It is better placed in the docstring.

Signed-off-by: Andy Grover <agrover@redhat.com>
Use any() when testing for if an iterable is not empty

This prevents the effort of generating a full list of storage objects or
targets just to see if 1 or more exists.

Signed-off-by: Andy Grover <agrover@redhat.com>