Simple implementation of chmod(path, mode)

currently only integer modes, can do string modes like +x later
fixes #7574

Interestingly on Windows, it looks like libuv ignores everything you ask for except the `0o200` bit, and the returned `filemode()` ends up either `0o444` or `0o666`.
Ah, there you go. Was going off the example of every other ccall in `base/fs.jl` that takes a string, looks like those could all be cleaned up and remove the `bytestring` then.