Implement uv_fs_mkdtemp

I implemented `uv_fs_mkdtemp` for unices and created a test for that. Could someone confirm that I am on the right way or provide some suggestions before I start implementing `uv_fs_mkdtemp` for Windows? Specifically I'm in doubt whether `uv_fs_t->ptr` is the right place for storing the name of temp directory which was created by underlying `mkdtemp`.

For Windows I want to use `glibc`'s [implementation](http://fossies.org/dox/glibc-2.19/mkdtemp_8c_source.html) which uses [`__gen_tempname`](http://fossies.org/dox/glibc-2.19/sysdeps_2posix_2tempname_8c_source.html#l00229).

Should close #1315
https://github.com/Hinidu/libuv/blob/mkdtemp/src/unix/fs.c#L1173

everywhere we use free(var), but here we are using free((void *) var);

The user has to actually clean up after the operation is finished by calling uv_fs_req_cleanup.