add read_file, write_file, mkdir, adjust_permission functions in vsc.utils.missing

What happens if the IOError is triggered by the previous f.close()? Is that possible? You can then get the same issue here as well and not catching it.