Pull the expiration time outside the timer processing loop
Pull the expiration time outside the timer processing loop

This commit effectively sets a more aggressive bound on the number of
timers to be processed in a single call to `HandleExpiredTimers`: as
soon as the current epoch advances, timers scheduled with `0`
expiration will no longer meet the criteria for expired timers, and
instead will go through a longer loop via the platform timer with an
immediate expiration.

openweave/openweave-core,openweave/openweave-core,openweave/openweave-core,openweave/openweave-core,openweave/openweave-core,openweave/openweave-core