Add binary search

This commit adds binary search for timers. It also updates `timers` array
content. `timer` elements are objects with two attributes: `executeAt` and `fn`.

Other minor fixes:

* test cases titles
* `setTimeout` special case where `when` variable was not a coercable number

Notes

This is an iterative implementation of searchTimer.
As suggested by @stefanpenner "recursive calls typically screw up the
runtimes optimizations".