TODO
====

Add warnings if either $HOME or $TARGET do not begin with a
slash. This can cause broken symlinks but may also break the test
suite. :-)

Idea from Pietro Abate: Excludes for wildcards, like "all from
.cache/* except .cache/duplicity".

Honor $XDG_ variables for unburden-home-dir's own configuration files
(at least optional), but possibly also in unburden-home-dir.list for
alternative locations of .cache and friends.

Write test so that mv doesn't fall into interactive mode. Basically
test what the previous commit ("2ec069d Unconditionally move files")
fixed. To reproduce: Have directories to move off as well as a
directory which is already moved off.

Warning if UNBURDEN_HOME=no or UNBURDEN_HOME=off is set in
~/.unburden-home-dir (which would be for the Xsession.d hook).

Handle errors caused by running applications which still have files
open in moved directories more gracefully. Current example error:

  cannot remove directory for /home/user/.thunderbird/qfdw0evd.default/Cache: Directory not empty at /usr/bin/unburden-home-dir line 203
  Symlinking /scratch/.unburden-user/thunderbird-cache-qfdw0evd.default ->  /home/user/.thunderbird/qfdw0evd.default/Cache
  Couldn't symlink /scratch/.unburden-user/thunderbird-cache-qfdw0evd.default ->  /home/user/.thunderbird/qfdw0evd.default/Cache: File exists at /usr/bin/unburden-home-dir line 333, <LIST> line 7.

Sorting and commenting subroutines.
