Refactors the upload to split on different filetypes

LRT uses ZIP files and the rest use CSVs, so I just have a small
refactor that splits up the processing and diverges depending on the
filetype.