Set the channels of a format when the colour model is changed.

It doesn't make much sense to have set_colour_model() and set_channels() seperate - they're always set together.
Should an exception be thrown when the number of channels is supplied (e.g from reading a file) but wrong for the colour model?