1. Do not chmod existing directories.
2. Fix the handling of tilde expansion in paths, don't expand ~foo to
$HOME/foo but to foo's home directory.
3. Separate the creation of files and directories. We don't have to
worry anymore about pathnames having to end with a '/' to be correctly
handled.