Fix unexpectedly long thread sleep in Supervisor's main loop
Fix unexpectedly long thread sleep in Supervisor's main loop

If a service takes a long time to initialize we may have exceeded our
desired one second maximum tick rate. If we have, we end up with a time
in the past which turns into a negative integer. Casting a negative
integer to a u64 wraps the integer causing the thread to sleep for a
very, very, long time.

Signed-off-by: Jamie Winsor <b4dde37aa2aac745c0e6c43447507eaeace3e59f@vialstudios.com>

habitat-sh/habitat,habitat-sh/habitat,habitat-sh/habitat,habitat-sh/habitat,georgemarshall/habitat,georgemarshall/habitat,rsertelon/habitat,rsertelon/habitat,nathenharvey/habitat,georgemarshall/habitat,nathenharvey/habitat,georgemarshall/habitat,georgemarshall/habitat,rsertelon/habitat,habitat-sh/habitat,habitat-sh/habitat,rsertelon/habitat,rsertelon/habitat,nathenharvey/habitat,georgemarshall/habitat,nathenharvey/habitat,georgemarshall/habitat,rsertelon/habitat,georgemarshall/habitat,nathenharvey/habitat,nathenharvey/habitat,habitat-sh/habitat,rsertelon/habitat,habitat-sh/habitat