fixes #4929

Fixes #4929. Touch implementation based on on libuv's uv_fs_futime function.