[FEATURE] Introduce image metadata

This introduces `metadata` as a gettable property of
the `ImageInterface` and its implementations, in order
to carry initial image metadata along the lifecycle.

The distributed implementation determines the metadata
by the image's EXIF information, but it not limited to
this in the future.

This is a preparation for #222 and related to #190.
Add metadata reader injection on ImagineInterface
Merge pull request #304 from romainneutron/metadata

Add support for image metadata