Refactor package and download software
Currently, code to package and download software is mixed together, and it detects which operation is needed. This change cleanly separates the packaging and downloading code, only running the packaging code in prepare, and downloading software in every other stage
Depends !1304 (merged) and !1305 (merged)
Edited by Matthew Kenigsberg