use os.PathError ~everywhere
when no group is passed to chown, set the group to the owner
Handle the directory bit of os.FileMode correctly

- make sure we set it, when running mkdir
- default to 0755 instead of 0644
- make sure we return it in FileInfo#Mode, even though hdfs does not