LP#
1878984: Fix Preserve specification
When processing a Preserve specification, vandelay.replace_field fails
to account for the situation where the target record does not have any
instances of the field to be preserved. This commit copies fields from
the source to the target when there are no like target fields and the
source fields are not restricted by a match requirement.
It additionally adds multi-subfield match requirement capabilities to
the add_field and replace_field functions, as implemented in the branch
submitted for LP#
1901597 that does the same for strip_field.
Signed-off-by: Mike Rylander <mrylander@gmail.com>