archivematicaCreateMetadataCSV: pep8 cleanup
archivematicaCreateMETS2: pep8 cleanups
Transform JSON DC metadata into CSV

This allows Dublin Core metadata to be represented in JSON format
along with the current CSV format. A new microservice is added which
translates the JSON metadata into CSV during the transfer phase.

Refs #6261.
archivematicaCreateMETS2: Map DC term refinements

Archivematica does not support refined Dublin Core, e.g. multi-tiered
terms in the format "dc.description.abstract". If such a term is
encountered, an element is created using the name of the most specific
term. e.g., "dc.description.abstract" is mapped to the element
<dcterms:abstract>.

Refs #6261.
Remove libavcodec-extra-* from dependencies

libavcodec-extra-53 is entirely unnecessary, and libavcodec-extra-55
actually contains no extra codecs compared to libavcodec55 in
the packages distributed by Archivematica.
ReplacementDict: add constructor from DB data

This new constructor allows a ReplacementDict to be constructed by
passing in rows from the database. This allows places outside of the
Unit classes to gain access to the full suite of standard unit
variables without having to fully reimplement the logic.

Eventually the three Unit classes can probably be migrated to use this
constructor, ensuring that there's only one canonical way to produce
this style of ReplacementDict.

refs #6451
normalize: include standard unit variables

This uses the ReplacementDict.frommodel constructor to get access to
all the standard File unit variables in addition to the special
normalization unit variables. This provides more versatility when
writing normalization and normalization verification commands.

refs #6451
Move passClasses to archivematicaCommon

These classes have no actual dependencies on any contents of MCPServer,
and are now being used in multiple modules, so move them to
archivematicaCommon.

The module is renamed from passClasses to dicts.

Refs #6451.
ReplacementDict.replace: use doctest-compatible docstring
ReplacementDict.fromstring: add docstring
dicts: include synonyms from Normalize

This allows synonyms like %fileFullName% to work with other microservices.
RD: add new to_gnu_options() method

This makes it easier for commands that pass options to non-shell script
commands to do so as CLI arguments.
Move characterization to FPR rules

refs #5866
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.2; others can
be introduced, or customized by users.

refs #5866
Characterization: add fiwalk plugins

refs #5866
createMETS2: correct FPCommandOutput purposes

refs #5866
createMETS2: fix FPCommandOutput with encoding declarations

refs #5866
FPCommandOutput: use combo of file and rule UUIDs for pk

Previously only one output per FPCommand was allowed, whereas we want
to accept one per file/command combination.

refs #5866
transcoder: Add a few stdout separators
Convert submission documentation workflow to use new ID tool