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".
Add defer tests with arguments
Add tests for all permutations of target, method and arguments
Merge pull request #73 from pksjce/defer_test_with_args

Add defer tests with arguments
Refactor build and test tasks

* use grunt-es6-module-transpiler
* use load-grunt-config and load-grunt-tasks
* move tasks configurations to tasks/options
* enable ECMAScript 6 specific syntax on .jshintrc
Merge pull request #74 from potomak/feature/grunt-es6-module-transpiler

Refactor build and test tasks
Merge pull request #67 from potomak/feature/binary-search

Add binary search