Add ko.wrap for watching functions for changes and caching for iterator methods

- Add ko.wrap
- Add caching for iterator methods
- Remove empty iterator evaluations with ko.wrap
- Add acceptance of options object for use of key and cache