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
instead of passing `this.__wrapped__` to `getWrappedValue` you should just pass `this` and make `getWrappedValue` to the `__wrapped__` access.