color: fallback and test label as an effect
With this changeset, we can now send a color name directly to the label
function, e.g.
$ hg log -r . -T "{label('red', node|short)}\n"
color: extract method for determining a valid effect
This patch is just setup work so that we can reduce code duplication and have
one place to define a valid effect.