Cut overall object instantiation in half by changing file
header generation algorithm, for a 10-15 percent performance
improvement when archive contains lots of small files.

Also extracted two private methods createLocalFileHeader
and createCentralFileHeader in ZipArchiveOutputStream.

These may have some interesting additional usages in the near future.

This is basically a "tactical refactoring"; scatter/gather had a
wonderful performance in the "scatter" algorithm, but spent
an *equal* amount of time in the "gather" phase

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/compress/trunk@1647787 13f79535-47bb-0310-9956-ffa450edef68
Removed testcase added in previous commit.

It seems like OpenJDK calendar operations are somewhat different from sun jdk, so this is
not a viable test to make

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/compress/trunk@1647798 13f79535-47bb-0310-9956-ffa450edef68