[RFC] Implement os_fchown and remove HAVE_FCHOWN

Yet another little step of #133.
TODO: write unit tests for `os_fchown`.
Good catch! It seems at least strange that argument is of type `uv_uid_t` but we cast parameter to `uid_t`. I removed this cast and another one.