Convert some booleans into more compact bitfields
Comment the definitive Zip documentation for future maintainers; note the history of this code.