WIP: DistCopy and sync operations

- [ ] Implementing new S3Data data type
- [ ] Rewriting DistCopy with new data types
- [ ] Pull out temporary FilePaths to mundane
- [ ] Pull out S3Data to saws?
- [ ] re-test split algorithms
- [ ] test mr jobs on cluster
- [ ] clean up
- [ ] rebase
- [ ] update api-compatibility with correct sha
It comes from this: `import scala.collection.JavaConversions._`

I assume this was taken from weiv code? Don't use it, and don't propagate the problem. Please use 
`import scala.collection.JavaConverters._`