Reduce memory consumption of update_language_packs

Reduces memory consumption (#1293) and along the way solves #1289 (combine po files using polib).

Does a few things to reduce memory consumption:
1. Places a `gc.collect` (reduces consumption from 170MB to 70MB)
2. turns `prep_inputs` into a generator
3. use `zlib.compress` for the list of po file strings