Preparse the arguments to error out early when needed
Created by: AyeTbk
sleep.rs parses it's arguments and waits the according time sequentially, in a way that if an invalid time interval appears after valid time intervals, it errors out during execution. For exemple, currently, the command
sleep 1m redox 30s
will wait 1 minute then exit with an error saying 'redox' is not a valid interval.
This PR makes it so sleep.rs parses all it's arguments first, errors out if needed, and only then starts waiting.