Sets the metadata for some field.
Metadata is a set of schema-free key-values associated with a field value. It can be used for metadata
about the value itself, for example to describe its source, creator or quality. Such information could
also be modelled within the Lily schema (for example using complex field types), but this could make the
schema very complex.
If you set metadata for a field which does not exist, it will be ignored.
Similar to record fields, metadata can be partially updated: you only need to specify the metadata keys you
want to change, the other metadata will be inherited from the current record state. Therefore, deleting
metadata needs to be done explicitly through
MetadataBuilder#delete(String)
.
For versioned fields, changing only the metadata (without changing the field value itself) will also
cause a new version to be created.
Metadata is currently not supported for versioned-mutable fields.