dict - dictionary to add pair to.
id - identifier of value
new - function to call to create new value (may be NULL)
update - function to call to modify value (if NULL, the old
value is freed, and <new> is used)
rock - context to pass to <new> or <update>.
DESCRIPTION
Finds <id>'s value and calls <update>. If <id> is
not in <dict>, calls <new> to obtain a new value.