Update gamgee.h and move zip to zip.h

the advantage of being explicit is that if the underlying code dependencies
change, you don't need to change anything in gamgee.h