Copy API call requires that dest.Bucket is set.

Good catch, we don't mutate the ACL slice and others, we don't need to care about deep copying.