Lazy rethrow approach for simpler nextTick.

I'm still not 100% sure about this, but would give an simpler code, and better performances in case of thrown exceptions. The amortized algorithm gives an additional *O(t log n)* or better (where *t* = tick delay, *n* = number of throws), while the "lazy re-throw" approach would give no additional delay on "good" tasks!

The downside is that re-throws are not in sync with other tasks. Also some environments could undesirably regenerate the error stack (?).
If those are not considered an issue, I could do some performance testing. 

Ideas?