Consistently use uint64_t for integers in shared random structs

Rather than using int sometimes and uint32_t other times, we could consistently use uint64_t in shared random structs.

Note that reveal_num and version need to be 8 bytes for the SRV hash.

My branch sr-uint32 at https://github.com/teor2345/tor.git has a fix for this.