use clock_monotonic_raw if available

clock_monotonic (at least on linux) is susceptible to changing with ntp. clock_monotonic_raw is preferred.

from the man page:

       CLOCK_MONOTONIC
              Clock that cannot be set and represents monotonic time since some unspecified starting point.

       CLOCK_MONOTONIC_RAW (since Linux 2.6.28; Linux-specific)
              Similar to CLOCK_MONOTONIC, but provides access to a raw hardware-based time that is not subject to NTP adjustments.