Launchpad ingestion to archive endpoint

Wire up launchpad ingestion to charmstore filling out new api/models.
The code actually calculates the hash before uploading the zip. However, I am still +1 on your suggestion, and with the refactoring you propose we would not require the goroutine and/or the counter type.