* s3api: extract quoteETag from setEtag
Consolidate ETag quoting so the XML response builders can share it.
* s3api: quote ETag in CopyObjectResult XML
AWS returns the ETag quoted in the copy result body, matching the ETag header. Fixesseaweedfs/seaweedfs#11622
* s3api: quote ETag in CopyPartResult XML
UploadPartCopy returned the raw ETag in the XML body while the response header and other APIs return it quoted. Fixesseaweedfs/seaweedfs#11622
* s3api: test ETag quoting in copy responses
* s3api: assert quoted ETag on the wire in copy response tests
* s3api: use strconv.Quote in quoteETag
Addresses CodeQL 'potentially unsafe quoting' on string concatenation.