use zip rather than tar

tar reads the file up to the position the file to extract is located.
zip on the other hand has a header that allows direct access.
This patch changes the archiving method to zip.
traverse directory recursively when zipping files

otherwise the metadata file would be ommitted