First pass at splitting a single timeout to timeouts for reading and syncing

Git things there are a whole bunch of new files, but they are not. I don't
know why this is the case.
Things are starting to work, but output is truncated.