[RFC] Clean up some list append functions

`list_append_{dict,string}` cannot fail, because the memory allocation is based on `xmalloc`. So the use of this functions can be simplified and error checks can be removed.