Adds functions and augmentations on lazy lists
Clean and refactor

* adds some augmentation to LazyList
* move module level functions working on lists in the augmentation
Add unit tests
More refactor and tests
Adds augment/functions, tests and docs