Enforce unique dependency lists.

Added a cmh_list_append_if_unique() macro that will only append to a
list if the values to be appended don't already exist within the list.
This macro is then used to enforce that module dependencies are not
duplicated.