add cq_dlist_append

this function simplifies the process of appending data from a dlist
to another by ensuring that they refer to the same fieldnames,
the verification process is done by the helper function
dlist_meta_cmp. In order to avoid broken references and/or leaks
it treats the source as immutable and copies the elements instead
of referencing them.