Deduplicate MainThreadExecutor::ScheduleAfter
Deduplicate MainThreadExecutor::ScheduleAfter

There have been two overloads of `MainThreadExecutor::ScheduleAfter` and
each overload had a rather large `if constexpr` branch in it with mostly
identical code.

Due to the introduction of PromiseHelpers, this code duplication can now
be avoided and `ScheduleAfter` can be implemented as a single member
function.

google/orbit,google/orbit,google/orbit,google/orbit