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
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
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
createMETS2: correct FPCommandOutput purposes
createMETS2: fix FPCommandOutput with encoding declarations
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.
createSIPfromTransferObjects: move metadata

Currently, only objects/ and metadata/submissionDocumentation are
moved. This moves the entire contents of metadata/ into the new SIP.
This is necessary to persist DC metadata.
transcoder: Add a few stdout separators