Associates a new value with key.
If key cannot be found then it is created. If val is null then key is removed.
| keyfile |
a |
| key |
a key |
| val |
a value to associate or |
| set_func |
a function to actually set value to |