Update S3 model to use shapes

This allows us to add handlers to response parsing.
Merge branch 's3-shapes' into develop

* s3-shapes:
  Update S3 model to use shapes