- Use text/tabwriter in runS3UserList and runS3UserAccessKeyList for
properly aligned column output
- Remove fragile strings.Contains "not found" and "already exists"
fallbacks in s3ShellIsNotFound and s3ShellIsAlreadyExists; rely on
typed errors and gRPC status codes only
- Update test assertions to match tabwriter-formatted output