Initial sync operations (local -> hdfs -> local)

@markhibberd @raronson @charleso 
@nhibberd No, you only want to sync back those things generated during an operation. So an operation would be responsible for returning the datasets it created (think ingest) and we should only sync those.