Fixed a caching bug where different input values could return the same epoch
    $ perl -MTime::Local=timegm -e 'printf "%d (Y: %d)\n", timegm(0, 0, 0, 1, 0, $_), $_ for (2012, 2012 | 1 << 16);'
    1325376000 (Y: 2012)
    1325376000 (Y: 67548)
Workaround limitations where time_t is limited to 32 bit