* XL/Multipart: Use json.NewDecoder to decode read stream.
* XL/Multipart: fix recursive and non-recursive listing.
* XL/Multipart: Create object part with md5sum later using RenameFile.
* XL/Multipart: ListObjectParts should list parts in order.
previously: uploadID.10.md5sum < uploadID.2.md5sum
fix : uploadID.00010.md5sum > uploadID.00002.md5sum
* XL/Multipart: Keep the size of each part in the multipart metadata file to avoid stats on the parts.
* XL/Multipart: fix listing bug which was showing size of the multipart uploaded objects as 0.
Creates a new write closer that must be released
by the read consumer. This is necessary so that
while commiting the underlying writers in erasure
coding we need to make sure we reply success only if
we have committed to disk.
This in turn also fixes plethora of bugs related to
subsequent PutObject() races with namespace locking.
This patch also enables most of the tests, other than
ListObjects paging which has some issues still.
Fixes#1358, #1360