Timeout

Timeout provides a way to auto-terminate a potentially long-running
operation if it hasn't finished in a fixed amount of time.
