Override window.setTimeout and .setInterval.

We want server-side code to complete as quickly as possible, so we
redefine these methods as simply "execute once, asynchronously". This is
fine for the common case of "force this bit of code to be async", but it
doesn't work for the case where the code is trying to actually implement
a timeout on a long-running operation. That's pretty uncommon in
browser-centric JS code, so accepted for now.