Add copyBlob to portable abstraction and add S3-optimized variant

In that case, perhaps name the `options` parameter `ignored`?