rusoto: Upgrade to Rusoto 0.43
This moves to Rusoto 0.43, which has moved from futures to async/.await. As a result, we implement a utility function to convert the async/streaming bits to blocking operations backed by a tokio runtime.
In the process, we also need to restructure s3sink a little, so that the client is now part of the started state (like it is for s3src). This is a better model than a separate client, as it reflects the condition that the client is only available in the started state.
Fixes #106 (closed).
Edited by Arun Raghavan