Phase I - implement bucket index sharding for radosgw

This is the phase one implementation of the bucket index sharding strategy at radosgw, key changes include:
  1. Static shard bucket index objects to a configured number of objects.
  2. Listing / stats become more expensive due to the fact that it needs to talk to a couple of bucket index shards.

Everything should work as it did with the default configuration. 

Testing:
  1. Covered object PUT/DELETE, bucket CREATE/LISTING/REMOVAL.
  2. Keep radosgw run a couple of hours making sure background thread works.

Todo:
 1. Make radosgw-agent to work with the new schema change for marker for bi log.

Signed-off-by: Guang Yang (yguang@yahoo-inc.com)