Sets the field with the given name field to value. If the field
does not exist, it is created. If the field exists, the previous
value is replaced and freed. The function will take ownership of value.
the name of the field to set
the new value of the field