add failling test using setTimeouts

refactor, handle a lot more async/nextTick/nested chains cases

Turns ou I needed to handle one queue per chain depth
precise readme
0.0.3