fs: introduce uv_readdir_next() and report types

Introduce:

    int uv_fs_readdir_next(uv_fs_t* req, uv_dirent_t* ent);

`uv_fs_readdir()` is not returning a file names list in `req->ptr`
anymore, the proper way to gather them is to call `uv_fs_readdir_next()`
in a callback.

cc @saghul
I just realized that we don't put anything in `req->ptr` if there are 0 entries on unixes. Not sure if it'll work with your assert. Anyway, `UV_EOF` will be returned, even if this code is called multiple times.