S3 storage driver for next gen modifications

This still needs some more minor debugging.
I had something like this sitting around in my stash:

```
       // WriteStream stores the contents of the provided io.ReadCloser at a
       // location designated by the given path. The driver will know it has
       // received the full contents when the reader returns io.EOF. The number
       // of successfully written bytes will be returned, even if an error is
       // returned. May be used to resume writing a stream by providing a nonzero
       // offset. Offsets past the current size will write from the position
       // beyond the end of the file.
```