Tighten up exception handling with non-preferred bucket names

Previously, almost any exception raised could raise a misleading
WARNING/HINT message that also contained a voluminous stack trace.  It
confused me into thinking this was a crash at first (for a short
base-backup upload).

This version checks the bucket name prior to submitting it to S3, and
does not handle cases as exhaustively, but does handle the one
complaint that has occurred in practice, which is upper case bucket
names.  In this precise case the warning is displayed and is
definitely topical, and the stack trace hidden.