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.
Merge pull request #1995 from lukecampbell/qcprocess

Refactors the upload to split on different filetypes