ExifData needs proper copy constructor and assignment operator
These are required for the inside-out features.
ExifData copy construction and assignment need to copy the underlying data buffer and preserve the IFD and MakerNote pointers into the buffer to enable non-intrusive writing after an ExifData object was copied.
Class Ifd should maintain a base pointer to the data buffer in non-alloc mode. It should then be possible to replace this base pointer with a new one after copying the buffer to a new location. ExifData could use this to implement copy construction and assignment.