update a set-valued dictionary
    when key exists, union sets

def dict_update_union(d1, d2):
    """
    update a set-valued dictionary
    when key exists, union sets
    """
    for k in d2:
        if k in d1:
            d1[k].update(d2[k])
        else:
            d1[k] = d2[k]