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

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, described below), it will recognize "Z" as a special name and also mark the spec.z_channel to be that channel in the new image.

This patch also adds 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).  Using this version of the call both extends the functionality of oiiotool --ch, and simplifies it.

The old call is considered deprecated, but kept for link compatibility (and merely calls the newer, more general, version).