Add minimal support for lazy evaluation to chaining syntax #274

These are methods that currently support lazy evaluation: `map`, `filter`, `reverse`, `drop`, `dropWhile`, `dropRight`, `dropRightWhile`, `take`, `takeWhile`, `takeRight`, `takeRightWhile`, `first`, `last`, `initial`, `rest`, `value`.

They're implemented into chain syntax.

* There is no documentation yet
* It doesn't pass tests for RingoJS, Rhino, etc... builds yet
Git [rebase + squash](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html) or `git merge --squash`.