added tokens for `done` callback

supports both ordered and unordered using;
```lua
done:wait(tokenlist)     -- default = ordered
done:wait_ordered(tokenlist)
done:wait_unordered(tokenlist)
```` 

as discussed in #142