MCPServer: replace databaseInterface with django models
Unit classes: move some methods into superclass
databaseFunctions: use Django models

refs #7137
fileOperations: use Django models

refs #7137
elasticSearchFunctions: use Django models

refs #7137
storageService: use Django models

refs #7137
MCPClient: use Django models

refs #7137
TaskType: assign uuid to id, not pk
jobChainLink: print to stderr, don't print stderr
MCPServer: fix pk string references
MCPServer: fix nextmicroservicechainlink reference
MCPServer: tasktype => tasktype_id
MCPServer: fix StandardTaskConfig field names
MCPServer: fix dashboard import path
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
Event: agent is nullable
insertIntoDerivations: source and derived files are mandatory