Implement timeout in a way that works for all languages.

Rather than relying on the language configuration to timeout the code
execution (which wasn't even working!), do it in the core library.  This
means that new languages don't need to worry about restricting execution
time.