hv_timecounter only needs rdmsr() and doesn't depend on the infrastructure
suppied by the whole vmbus driver (i.e., interrupt, channel, etc.), so we
can move it to an earlier place. This way, we can reliably use DELAY() in
probe_tsc_freq() -> DELAY().
Note: the i8254 PIT counter emulated by Hyper-V is not reliable and it even
doesn't exist in a Hyper-V Generation-2 VM (UEFI VM):
https://reviews.freebsd.org/D5174
With this patch, the TSC frequency is properly calibrated and the below
warnings will go away:
calcru: runtime went backwards from 18 usec to 9 usec for pid 0 (kernel)
calcru: runtime went backwards from 46204978 usec to 23362331 usec for pid 0 (kernel)