Fix issue #1200: Restore ACL functionality

Uses os_* functions to restore ACL functionality, addresses #1200 
In vim code, `mch_` means "machine dependent". If this is OS-independent, it should be moved out of `os_unix` and the `mch_` prefix should be removed. However, I don't think that `os_getperm()` actually returns a file's access control list, which is supposed to be a list of users and permissions. I don't know much about ACL, but it's hard for me to imagine that fitting in a single integer, or being statically sized.

Finally, vim preserves permissions without ACL, which is a special kind of permission. If you look at `readfile` and `buf_write`, you'll see that the information from `os_getperm()` is already taken care of.