Can now use XMP sidecars.

If an image file has a matching XMP 'sidecar' then metadata is read from
both (with the sidecar having precedence) but only written to the
sidecar, so the image file isn't changed.
There are potential problems if the data in image and sidecar doesn't
match.
Config to force creation of sidecars and control precedence will be
added later.