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.