Fix upgrade after moving source files into src/ sub-directory

The upgrading code in installation/files.py was not properly
adjusted to deal with files being renamed.  In fact, it stopped
upgrading changed files at all.

The changes splits the path of an updated file into essentially
three different ones:

  old_source_path: repository-relative path of file in previously
                   installed commit (sometimes with src/ prefix)

  new_source_path: repository-relative path of file in the commit
                   now being installed (always with src/ prefix)

  target_path: $INSTALL_DIR-relative path of target file (never
               with src/ prefix)

It also adds these derived paths:

  full_source_path: absolute version of new_source_path

  full_target_path: absolute version of target_path