fs: uv_fs_{open,read}_dir for unix

Tested on Linux, MacOS X and SmartOS.

Fixes #1430
The `dirent` structure may have enough space for `max_path_len` within `d_name`. If `len <= sizeof(struct dirent)`, then `sizeof(struct dirent)` should be used. 

See `dirent_buf_size()` from http://womble.decadent.org.uk/readdir_r-advisory.html