Allow images with alpha channel to be saved as TIFF

Here's another one, maybe not yet quite ready for merging, but I'd welcome your thoughts. It allows RGBA images to be saved into TIFF files. It includes some bits from my previous pull requests too, since this is the working codebase I'm using at the moment!
To do this we make TIFF be saved with its colour channels premultiplied by the alpha channel, and set the appropriate TIFF tag for the extra channel.
In particular, is the premultiplier sufficent / complete enough for general use (it Works For Me™)?
Are the additions to the tags to allow multiple values appropriate (should I go further and make the type for each property /always/ be an MPL vector, forcing even single-valued properties' types to be wrapped into a single-element vector? That might make for clearer/simpler code in the write function, but is more typing for each tag which is added!)?
Any other thoughts or suggestions?