Extend functionality of ImageBufAlgo::channels with values and channel names.

Add a new IBA::channels() variety that lets you optionally take a list
of channel literal values (instead of using 0 for dst channels not
corresponding to src channels) and new channel names (so you can rename
channels in addition to shuffling them.

The old call is considered deprecated, but kept for link compatibility (and
merely calls the newer, more general, version).
Extend functionality of oiiotool --ch to name new channels.

Previously, the 'oiiocool --ch' let you specify some shuffled channels
as literal values like this: oiiotool --ch R,G,B,A,=1.0
In this example, it would add a 5th channel, set to 1.0 everywhere.
However, the extra channel will just be named "channel 4", because it
has no idea what it actually means.

In this patch, we extend the syntax to allow 'name=value' liks this:
oiiotool --ch R,G,B,A,Z=1.0
This lets you name the literal channels that you add, and further
(by virtue of newly added functionality of IBA::channels), it will
recognize "Z" as a special name and also mark the spec.z_channel to
be that channel in the new image.
Merge pull request #505 from lgritz/lg-channels

Extended functionality of oiiotool --ch and ImageBufAlgo::channels()