Add ClockType enum to core.time for issue# 13433.

This adds an enum for indicating which type of clock to use when it's
appropriate for a time function to have multiple options for the source
clock. Currently, it only supports "normal" and "coarse," but we may add
more in the future, since some systems do support others (e.g
clock_gettime has several other options depending on the system).

This is in support of https://github.com/D-Programming-Language/phobos/pull/2584.
> Now, I should probably rewrite this code a little so that the clock decision for clock_gettime is made in the version branches rather than in the call to clock_gettime

Yes, this will look better. Much better than my idea of using a unittest.

Just get rid of `else version(posix)` and the aliases to the `coarseClock` It looks a bit messy currently, and this will make the code more consistent and readable. And as you said, clock options on other platforms will not affect Linux or FreeBSD.

What I was thinking about is, on a posix but not linux or freebsd platform, the default works, but the coarse clock just fails, and at runtime no less. This seems inconsistent to me. A much better situation would simply be to make the developer of the new platform figure it out during porting stage.