Launchpad ingestion to archive endpoint

Wire up launchpad ingestion to charmstore filling out new api/models.
I would prefer it if there was no chance at all of this going wrong, please. Modifying the file system is one thing, but this code is not obviously correct - it relies on the implementation of ArchiveTo. For example, it is currently the case that the access time of the files is not archived, but it could be, and then this code would probably fail, because calling ArchiveTo would itself modify the access times of the files. Also, yes it will use more IO, but compressing can also be expensive too and temporary files are often in fast storage.

If we archive to a temporary file, we know that it's going to be OK, and I think that assurance is worth something. The code will also be simpler that way.

One other thing: please check the error returned by ArchiveTo.