vrrp: fix gratuitous ARP refresh timer handling

Previous code was using an 'int' to store parsed timer value. This value
was then expanded to TIMER_HZ which can lead to a wrapping issue if
requested timer is longer than local machine 'int' representation.

This patch reworked the code to use timeval_t instead and perfrom
regular timeval operations.