Instead of optionally creating a stopwatch when a provided
timeout is not none (to avoid the stopwatch leftover() method
raising a error) just allow the stopwatch leftover() method to
not raise when no duration is provided to avoid these repeated
styles of usage/checks in the first place.
By default the leftover() method still raises an error (a new
keyword argument is now accepted to turn off this behavior).
Change-Id: If934ee6e6855adbb6975cd6ea41e273d40e73dac