Fixed #23450 - transient failure of test_far_expiration

The cookie expiration date is now taken directly from
the expires parameter. However, I'm keeping the current
logic of adding 1 second to max_age, to ensure that expires
is never later than (now + max_age).
could there be a subtle behavior change here if we hit the `max(0, ...)` condition where 0 is used? not exactly sure when it happens, but I replaced this line with `max_age = delta.days * 86400 + delta.seconds` and no tests failed, so a test might be needed there (blamed this code to 2d4da641a6ee6c96f38336d8dc6786c07e7b3a1f).