Make all Process() requests explicitly state an UNDO type

Warning: huge commit!

As part of improving PD's undo/redo behavior, it was necessary to
rewrite all processor calls to explicitly state what kind of Undo/Redo
data they need created.  This will allow us to shortcut Undo creation
for certain actions (like "move layer", which only affects a few bytes
in the layer header), rather than always creating a full header+pixel
undo for all layers in the image.  Similarly, we can also shortcut undo
for actions that only affect a single layer, vs actions that affect
*all* layers.

Nearly every dialog in the program and a great many modules were
affected by this change; apologies for the huge commit size!