<!--- 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"
  ]
}
```

"""
    Recursively merges hash b into a so that keys from b take precedence over keys from a
    """
    _validate_mutable_mappings(a, b)
    
    if a == {} or a == b:
        return b.copy()
    
    result = a.copy()
    
    for k, v in iteritems(b):
        
        
        if k in result and isinstance(result[k], MutableMapping) and isinstance(v, MutableMapping):
            
            result[k] = merge_hash(result[k], v)
        else:
            
            result[k] = v
    return result
def load_extra_vars(loader):