Move characterization to FPR rules
Characterization: add default commands

One or more default normalization commands can be defined, by defining
FPRules with the purpose 'default_characterization'. As with
normalization, these will be called if no matching FPRules can be found.
This also allows for characterization rules to be applied to files that
couldn't be identified.

FITS will be the default characterization command in 1.1; others can
be introduced, or customized by users.
Characterization: add fiwalk plugins
Add examine_contents microservice

This new microservice runs a tool which attempts to extract meaningful
patterns and features from files. The primary tool run right now is
bulk_extractor, which is run on disk images and other files alike.

Refs #5880.
Examine contents: add admin option to control

Refs #5880.
preconfiguredChoices: Set based on UUID, not description

preconfiguredChoices were previously being matched via description
strings, which was error-prone. This replaces matching with precise
UUID matches instead.
Add internal comment to defaultProcessingMCP.xml
FIDO: Add Archivematica extension file, refs #5892
Add AccessData AD1 signature extension
Add AccessData AD1 encrypted disk image signature
Add raw disk images

These have no magic bytes, just extensions.
Extraction: make extraction optional

Refs #5894
Extract: add option to delete original package

This was previously hardcoded; this moves the option to the UI, allowing
users to choose.

In a future commit this will be set by default in the administrative
settings.

Refs #5894.
main.models: add model for UnitVariable
ReplacementDict: add .fromstring static method

This takes care of parsing a string into Python literals, so that
consumers can just pass in a string and don't have to worry about
dealing directly with evaluating Python code.
Migrate certain unit variables to passVars in new chains

Certain chains need to be able to inherit passVars set in previous
chains. An example of this is identification, where a second pass of
identification happens after extraction during the transfer; the
previous choice made needs to be able to apply.

Unit variables with the variable name 'replacementDict' will now have
their values included into passVars at the creation of every subsequent
chain in the unit.
Merge branch 'dev/issue-5880-bulk_extractor' into dev/issue-5245-forensic-imaging

Conflicts:
	src/MCPServer/share/mysql_dev1.sql
Merge branch 'dev/issue-5892-fido-extensions' into dev/issue-5245-forensic-imaging
Merge branch 'dev/issue-5894-extract-options' into dev/issue-5245-forensic-imaging

Conflicts:
	src/MCPServer/share/mysql_dev1.sql
Merge branch 'dev/issue-5900-ingest-metadata' into dev/issue-5245-forensic-imaging

Conflicts:
	src/MCPServer/share/mysql_dev1.sql
	src/dashboard/src/main/models.py