Timestamp sanitization and test fixing

Hi.

After working a bit on chromium's minizip wrapper code, namely making sure timestamps were preserved, I saw that edge conditions were really poorly handling by minizip, causing the dates to be just broken (like 1979 as input date would produce 2087 as output).

So, the main commit in this pull request makes sure that dates and times are within the range of what the format can package, and that bad values just cause the date to be unset. Then I had to fix the tests which were not running successfully.

Btw, what is your relation with http://www.winimage.com/zLibDll/minizip.html ?

Thank you for your time and attention.