Fix bug that blocked ZFS_IMMUTABLE from being unset.

OS X seems to include AT_MODE in the mask provided to zfs_settattr
even when zp->z_pflags & ZFS_IMMUTABLE is true. So we must not
return EPERM just because the mask includes AT_MODE.

Without this change, running chflags uchg on a file would cause the
file to be undeletable, even by root. ls -lO would not show the
uchg flag as being there, and chflags nouchg would be denied.
Nonetheless, the file could still be deleted after an export and
import.