<!--- Verify first that your feature was not already discussed on GitHub -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
The [__combine__ filter of Ansible](https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#combining-hashes-dictionaries) is limited if it comes to nested elements that contain lists. The __recursive__ functionality only does merge dict elements but not nested list elements.
* The current implementation will simply take the second list as result.
* The expected results would be to merge both lists into a single list.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
Jinjia2 integration

##### ADDITIONAL INFORMATION
Example:
```yaml
---
- hosts: localhost
  gather_facts: false
  vars:
    foo:
      list:
      - a
      - b
      dict:
        foo: 1
    bar:
      list:
      - c
      - d
      dict:
        bar: 2
  tasks:
  - debug:
      msg: '{{ {} | combine(foo, bar, recursive=True) }}'
```

Expected:
```yaml
{
  "dict": {
      "bar": 2,
      "foo": 1
  },
  "list": [
      "a",
      "b",
      "c",
      "d"
  ]
}
```
Actual:
```yaml
{
  "dict": {
      "bar": 2,
      "foo": 1
  },
  "list": [
      "c",
      "d"
  ]
}
```

else:
        raise AnsibleFilterError('subelements must be a list or a string')
    results = []
    for element in element_list:
        values = element
        for subelement in subelement_list:
            try:
                values = values[subelement]
            except KeyError:
                if skip_missing:
                    values = []
                    break
                raise AnsibleFilterError("could not find %r key in iterated item %r" % (subelement, values))
            except TypeError:
                raise AnsibleFilterError("the key %s should point to a dictionary, got '%s'" % (subelement, values))
        if not isinstance(values, list):
            raise AnsibleFilterError("the key %r should point to a list, got %r" % (subelement, values))
        for value in values:
            results.append((element, value))
    return results
def dict_to_list_of_dict_key_value_elements(mydict, key_name='key', value_name='value'):
    ''' takes a dictionary and transforms it into a list of dictionaries,
        with each having a 'key' and 'value' keys that correspond to the keys and values of the original '''
    if not isinstance(mydict, Mapping):
        raise AnsibleFilterError("dict2items requires a dictionary, got %s instead." % type(mydict))
    ret = []
    for key in mydict:
        ret.append({key_name: key, value_name: mydict[key]})
    return ret
def list_of_dict_key_value_elements_to_dict(mylist, key_name='key', value_name='value'):