Moved some code from Ivory to list/read/write/delete files from locations

I created a `LocationIO` object having the necessary configurations to do IO operations, extracted from the `IvoryLocation` object in Ivory.
No guarantee that the location is a S3Prefix. `S3Prefix(,).listKeys` will return `List()` if the is actually a key not a prefix. Need to use `S3Pattern(,).listKeys`