rgw: `radosgw-admin bucket rm ... --purge-objects` can hang...
This command can hang (i.e., enter an infinite loop) due to problematic bucket index entries left as a result of bug https://tracker.ceph.com/issues/38007 .
The fix is to ignore the false bucket index entries -- since they do not represent actual objects -- and remove all actual objects in the bucket, so that bucket itself can be removed.
This fixes the both code paths whether `--bypass-gc` is specified or not.
Furthermore, to made these operations more efficient, the internal listing of the bucket is done unordered. This would improve behavior when removing buckets with a large number of objects.