Remove inputs from zip, and fix type error

If user wants input files in the zip, they can pass them through as outputs.
Doing it implicitly just makes the code more confusing.

Also, the String dict was getting changed by the previous code, such that
all strings would have the attributes of the last instance. Rewrote the
code to be more careful.