This patch adds support for using the monotonic clock (steady_clock)
when waiting on a condition variable with a timeout. This feature is
currently implemented for POSIX threads. The patch generalizes it to
be usable with an external threading library by adding
__libcpp_condvar_monotonic_timedwait.
The external threading layer implementors should define
_LIBCPP_CONDVAR_HAS_MONOTONIC_TIMEDWAIT in their __external_threading
header and implement the __libcpp_condvar_monotonic_timedwait function
to use the feature.