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
Ok, then I didn't know what do you mean by _destructive_. Yes, this implementation doesn't support forking chains. 

I'd like to see see this feature at some point, but I'm not sure if it should land in _v. 1_ (or at least this pull request). Maybe another issue for this? @jdalton what do you think?