pw_chrono: add SystemClock::for_at_least helper

Adds a helper function for legibility to SystemClock to invoke
std::chrono::ceil for us where the return type is fixed to a
SystemClock::duration type.

Also migrates the existing uses of std::chrono::ceil to this.

Change-Id: I1234ab3dfaf1d3ec22b0daa9d7666f66e0ce3310
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/37321
Reviewed-by: Wyatt Hepler <hepler@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Ewout van Bekkum <ewout@google.com>
diff --git a/pw_thread/sleep_facade_test.cc b/pw_thread/sleep_facade_test.cc
index 42548bd..3112b63 100644
--- a/pw_thread/sleep_facade_test.cc
+++ b/pw_thread/sleep_facade_test.cc
@@ -36,9 +36,9 @@
 
 // We can't control the SystemClock's period configuration, so just in case
 // duration cannot be accurately expressed in integer ticks, round the
-// duration w/ ceil.
-constexpr auto kRoundedArbitraryDuration =
-    std::chrono::ceil<SystemClock::duration>(42ms);
+// duration up.
+constexpr SystemClock::duration kRoundedArbitraryDuration =
+    SystemClock::for_at_least(42ms);
 constexpr pw_chrono_SystemClock_Duration kRoundedArbitraryDurationInC =
     PW_SYSTEM_CLOCK_MS(42);