hs: Cache current time period number and SRV start time
For each node in the consensus, we call `node_set_hsdir_index()` which gets the time period and srv start time to learn if we are in between TP and SRV or not. These calls ultimately call `get_voting_schedule()` which allocates memory and prints a debug log everytime. All of this is actually pretty heavy and they are values we can cache because they are all based on the timings of a new consensus (valid_after, valid_until, fresh_until). It is also called every second by a tor with a hidden service. Caching those and updating when we get a new consensus seems a light refactoring for a good performance improvement.
issue