Image > Indexed Color: remove superfluous code from old implementation
Blend modes: provide public function for populating any drop-down

Many tools could potentially make use of blend mode selection, so it
makes sense to abstract out the drop-down creation into a single central
function.
Non-standard preview controls: allow caller to maintain premultiplied alpha

In the case of the new Fade dialog, two layers are passed as-is to PD's
central compositor, which requires premultiplied alpha data.  Rather
than manually undoing then reapplying premultiplication, the central
function now has an override to simply leave premultiplied alpha alone
when it generates (and later renders) the preview image.
Edit > Fade: dialog w/ opacity and custom blend modes now implemented

Very useful feature, happy to have it finished.

Two related notes:

1) This tool required me to complete the last major piece of plumbing
required for an Undo History tool (pulling arbitrary data from arbitrary
past Undo entries), so I may tackle that next.

2) In testing this feature, I realized I have a habit of applying an
action to a layer, seeing the result, then realizing that I should have
duplicated the layer before messing it up.  To help avoid the "Undo ->
Duplicate Layer -> Repeat previous action" steps I frequently use, I
think I'll add a function to the effect of, "Split last edit into new
layer".  This would always allow the user to convert their latest action
into a separate layer, which could be a big time-saver (and pretty sweet
to boot!).