Improve chain()
Rename internal classes
Improve optional parameter processing
Fix zip()
Refactor Lazy_Generator and Lazy_Iterator
Add cycle()