Manual Normalization: normalization.csv uses pre-sanitized path

refs #4922

Before parsing the normalization.csv, fetch the unsanitized name from the
database and match on that to disambiguate between files with the same
name. Do not force lowercase before matching. Catch multiple exceptions
properly.
createMETS: Remove fileSec sorting

Sorting caused problems when dealing with non-Unicode filenames, and is
unnecessary for the METS. Removed sorting and PyICU dependency. Moved
fileSec creation to one loop, instead of generating separate ones for files
and directories, as they no longer need to be custom sorted.
MCPClient: Remove DashboardSettings dependency

Giving the MCPClient access to the dashboard UUID via replacement dict
& environment variable was a branch of code development that was not
followed up on. Remove it to reduce table dependencies of the MCPClient.
Models: Update to match SQL

refs #7303
MCPServer: replace databaseInterface with django models
Unit classes: move some methods into superclass

Also switch from databaseInterface to Django models.

refs #7137.
databaseFunctions: use Django models

refs #7137
fileOperations: use Django models

refs #7137
elasticSearchFunctions: use Django models

refs #7137
storageService: use Django models

refs #7137
backlogUpdatingTransferFileIndex: remove unused functions
MCPClient: use Django models

refs #7137
jobChainLink: print to stderr, don't print stderr
localDevSetup: replace databaseInterface with Django models
identifyFileFormat: file_.sip won't raise
createSIPfromTransferObjects: fix subsequent runs

If this script runs more than once, the SIP objects directory will
already be populated with some files. Make sure the contents of
objects/ is a directory before trying to list its contents, otherwise
this will fail.
dicts: don't try to expand path if sipdir not defined
insertIntoDerivations: source and derived files are mandatory
databaseFunctions: add docstrings
databaseFunctions: add tests