internal/charmstore: add ZipFileReader and NewZipFile

These are the methods we'll use to create the Content on entities.