Add copyBlob to portable abstraction and add S3-optimized variant

See [this comment](https://github.com/jclouds/jclouds/pull/514/files#r17993973) in #514 regarding the introduction of `Optional` here. Personally, I'd be in favour of maintaining consistency with current `Options` style.