Added the ChannelMaskPlug.
Added the ChannelMaskPlugValueWidget.
Added test benches for both the plug and widget.

This plug and widget provide a way of choosing a subset of channels from the channels available from an input's channels. The plug provides a method for intersecting it's current selection of channels against a vector of other channels.
Added the static channelIndex method to the ChannelMaskPlug along with test cases and bindings.
Changed the ChannelMaskPlugValueWidget to allow no channels to be selected.
Corrected todo tag.
Changed the channelMask bindings to allow an IECore.StringVectorData to be used as the input.
Changed the ChannelMaskPlug, it's UI and test case to use "." as the separator for layers and their channels.
Fixed a bug.
Merge pull request #104 from goddardl/ChannelMaskPlug

ChannelMaskPlug