ImageMetadata: also propagate name when copying

This changes the populate signature to include the name in addition to
all the other parameters.
AbstractImageMetadata: add FIXME reminders

We should never write "this.x = x" anywhere except the setX setter.
Otherwise, subclasses that override the setter behavior will not work
properly.