Refactor IP copying to be generic CF copying.

Adds a bunch of error checking, both on arguments as well as ensuring
that the custom field you're copying between tickets is available on
both tickets.  Retains the HasValue checking from the original code, so
you only attempt to add values that are missing on that target.
Remove erroneous docs

I'm assuming this was copied wholesale from the Change*Ownership actions
When linking an IR to an Incident, copy IPs

When creating an Incident from an IR, we copy IPs, but we don't do that
later when gathering up other IRs.  This seems strange, since you might
be correlating IRs into an Incident on some attribute other than IP, you
would want your Incident to easily contain all the IPs.

Work earlier on this branch makes it straightforward to add new actions
that copy other data up to the Incident on link as well.

Resolves issues #23576
Document the new behavior for copying IPs
Merge branch '3.2/merge-ips-on-link'