cpp: IFD: Use uint16_t rather than dimension_size_type for NumberOfChannels

The types used by clang++ don't allow dimension_size_type in
MetadataMap (even though it should be permitted).