charm: factor zipOpener from CharmArchive

This is preparatory work for adding BundleArchive.