fileOperations: use Django models

refs #7137
elasticSearchFunctions: use Django models

refs #7137
storageService: use Django models

refs #7137
Date columns: make nullable, default NULL
MCPClient: use Django models

refs #7137
models: replaces needs db_column
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
databaseFunctions: add docstrings