fn add_entry_to_archive<W>(
    writer: &mut ZipWriter<W>,
    base: &Path,
    entry: &DirEntry
) -> Result<(), Error> where
    W: Write + Seek