rgw: fix multipart upload object leaks due to re-upload
This commit fixes the object leaks when an mp part object
is re-uploaded. Details of the fix are:
1. Upon re-upload, remember the prefix used in previous
part upload in a new field "past_prefixes" in RGWUploadPartInfo.
2. Create a new CLS function for updating part info
in the metadata object.
3. Utilize the new CLS function during mp upload.
4. At the upload conclusion (compete/abort), clean up
the part objects that are not used for the final
assembly, thus preventing the object leak.
Fixes: https://tracker.ceph.com/issues/16767 Signed-off-by: Yixin Jin <yjin77@yahoo.ca>