Fix int overflow GetClockTimeMicros() on macOS
Fix int overflow GetClockTimeMicros() on macOS

On macOS mach_timespec_t.tv_sec is only 4 bytes and we
were converting to micros before moving to a bigger var.
This would cause all the wall times obtained on a mac (through
GetClockTimeMicros() to be wrong.

This was likely the cause of KUDU-2435 and KUDU-2408 too, since
the time would easily wrap, causing us to a update the clock with
a value that was seemingly from the future.

Posix just requires it to be an integer
(see: https://en.wikipedia.org/w/index.php?title=Time_t&oldid=450752800)
so also fixed it on the non-macOS path.

Testing this is likely not worth it since the only real change
was on macOS where the overlow doesn't happen anymore.

Change-Id: Ie0eaa548f61352be529755a732566613cfa72098
Reviewed-on: http://gerrit.cloudera.org:8080/10371
Reviewed-by: Todd Lipcon <2c763d726a8c2f6afda9be7e0e56a2caa6bb5e6b@apache.org>
Reviewed-by: Dan Burkert <4ef91e292a55314d2653d35ff669a6bd939ce515@apache.org>
Reviewed-by: Grant Henke <4cf7ebbe638391c4d27a10cf751b99bdbd1a1880@apache.org>
Tested-by: Kudu Jenkins

cloudera/kudu,andrwng/kudu,InspurUSA/kudu,InspurUSA/kudu,helifu/kudu,InspurUSA/kudu,helifu/kudu,andrwng/kudu,EvilMcJerkface/kudu,EvilMcJerkface/kudu,EvilMcJerkface/kudu,EvilMcJerkface/kudu,andrwng/kudu,cloudera/kudu,andrwng/kudu,EvilMcJerkface/kudu,andrwng/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,InspurUSA/kudu,helifu/kudu,helifu/kudu,andrwng/kudu,helifu/kudu,andrwng/kudu,cloudera/kudu,andrwng/kudu,cloudera/kudu,cloudera/kudu,helifu/kudu,andrwng/kudu,InspurUSA/kudu,cloudera/kudu,cloudera/kudu,helifu/kudu,cloudera/kudu,EvilMcJerkface/kudu,helifu/kudu,helifu/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,cloudera/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,InspurUSA/kudu