Dashboard: Accession IDs associate with Transfers again

refs #7442

Use os.path.join to add / to the end of SHARED_DIRECTORY_ROOT if needed
before replacing it with %sharedPath%.

SHARED_DIRECTORY_ROOT was updated to read the shared directory path from a
config file instead of being hardcoded in an earlier commit. The previous
hardcoded value was not / terminated, but the config file path is /
terminated.

When creating a new Transfer, a replace is done on the path to convert it
from absolute to relative to %sharedPath%. The replace always added / to
the end of SHARED_DIRECTORY_ROOT, which caused the replace to fail when
SHARED_DIRECTORY_ROOT was already / terminated.

This caused the MCPServer to create a duplicate Transfer (without an
accession ID) when it found the files on disk, as it could not find an
associated Transfer by path in the DB.
Insert "move to processing directory" before sanitizing transfer name

Fixes #7464.
Update FPR admin commit