prop224: HS desc overlap period func uses absolute times instead of slots
The function that decides whether we are in HS desc overlap mode currently uses the following logic:
tor_gmtime_r(&consensus->valid_after, &valid_after_tm);
if (valid_after_tm.tm_hour > 0 && valid_after_tm.tm_hour < 12) {
return 1;
}
While that logic is accurate wrt prop224 section 2.2.4, it's actually not a good idea since it uses absolute times, and it will fail to work as intended in the testnet.
We should refactor that logic to use the slot based system that we use for time periods and shared randomness, since semantically the HS desc overlap period is just the period between publishing a fresh SRV and starting the new time period.
We should also change the spec to reflect the new logic.