lib/curl: remove dep. en `pipeline`

Signed-off-by: Jean Privat <jean@pryen.org>
lib: modify lib/pipeline to work on iterators instead of collection

* Methods in `pipeline` are difficult to use because they are lazy.
* They are highly generic and return a abstract return type, thus
having them in Collection lead to strange API, like `[1,2,3].head(2)` that
is not an Array.
* Because they are in Collection, all standard class like Array show them
in their documentation, confusing beginners.

Moving all pipeline functions on Iterator solve these problems.

This basically reverts commit c0316e522d0d8053c0fb155bf1fbd14979a12202.

Signed-off-by: Jean Privat <jean@pryen.org>
lib/pipeline: add basic functional-like filer processing (map&select)

Because Nit is not functional, worse, there is no anonymous classes, the
use is complex.
However, I tried to have the syntax as light as it could be currently.

I still suspect that for most cases, a `for` loop can perform
enough map&select style. Therefore, consider this commit as an
experimentation.

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: More on Pipeline

Pull-Request: #362
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>