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
Remove duplicate chain post-normalization

Post-normalization, a full chain is repeated twice. The only difference
between the two chains is a variable set at the very end; otherwise
every chainlink is identical.

The duplicated chains were making it difficult to introduce new
microservices that occured in this part of the workflow, especially
when introducing new choices.

This commit unifies the two chains. They branch at the very beginning,
to set the unit variable, and then converge into an identical set of
chainlinks.