aka better sleep
Waits for a specified time. The user can interrupt this. The caller is able to specify a list of keybindings and the returncode they should cause.
The idea is that a user can interrupt goat, if he knows the condition goat is waiting for is already fulfilled. See fbpush.