Wip rgw manifest 2

New scalable manifest. Implements 6338, 6339. Instead of keeping a list of all the objects, keep a map of rules that describes how to name the objects. Usually there isn't going to be more than 1 or 2 rules for any object size. There's also support for older manifest (explicit objects), however, newer manifest cannot be used by older code.