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.
@nhibberd How does this relate to your temp changes in ivory to isolate configs and make sure everything is deleted?