Fix the PG listing issue which could miss objects for EC pool

When doing a PG listing, the caller passed hobject_t as the marker (starting object), and for the collection listing (ObjectStore), it accepts a ghobject_t as the marker. The original implementation use the default generation (uint64_t max) and shard (uint8_t max) to compose a ghobject_t with a given hobject_t instance, however, this could break as the real shard ID is less than the default and thus it is skipped wrongly.

To fix this issue, we use the smallest generation and shard id.

Signed-off-by: Guang Yang (yguang@yahoo-inc.com)