Fixed #20978 -- Made deletion.SET_NULL more friendly for MigrationWriter.serialize.
Made MigrationWriter look for a "deconstruct" attribute on functions.

Refs #20978.