Added support for NChannelImage and ExtendToNChannel


Sorry for all the previous open/close pull requests. This is the only merge to look at.

I think the ``random_generator`` issue is now resolved with my suggestions above. We should discuss where to put  ``RGBImage`` in the main comments section of the PR.