Before, whatever project-root returned, we stored as the root
directory of the project in project-list and project-list-file. This
could lead to duplicate entries or bad behavior if projects were
accessed by different file names, e.g. both /home/user/src/emacs and
~/src/emacs.
Now project-list-file contains only expanded paths and project--list
contains only abbreviated paths. We abbreviate filenames before
setting project--list, and expand filenames before writing to
project-list-file. We only do this for local files, though, to avoid
making remote connections; the situation will still be bad for remote
projects, but at least this is an improvement.