ruby2.0 implementation of lazy_list (and infinite streams) as per specification by the wizard book