rgw: bucket index list can go backwards and may loop
The logic for the bucket index list did not always move through a
shard's entries forwards. If the marker started with a character
greater than 0x80 (i.e., started with a unicode characters in UTF-8)
the listing could back up into the instance area or olh area of the
bucket index. This was due to faulty comparison logic that asserted
that all plain entries preceeded all instance and olh entries.
Other clean-ups were also included.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>