### Summary

When doing a lookup on a java properties file, case sensitivity is being ignored. Since java properties can be used case sensitive this RFE is to have the option to allow a case sensitive lookup on a properties file. 

test.properties
```
fubar=”lower”
FUBAR=”upper”
```
ini_prop_test.yml
```yaml
---
- hosts: localhost
  connection: local
  gather_facts: false
  vars:
    prop_item: "{{ lookup('ini', 'fubar file=test.properties type=properties' )}}"

  tasks:
    - debug:
        var: prop_item

    - debug:
        msg: "{{ item }}"
      with_ini:
        - '.* file=test.properties type=properties re=yes'

...
```
Ansible 2.7.9 Result:
```
PLAY [localhost] ***************************************************************************************

TASK [debug] *******************************************************************************************
ok: [localhost] => {
    "prop_item": "”upper”"
}

TASK [debug] *******************************************************************************************
ok: [localhost] => (item=”upper”) => {
    "msg": "”upper”"
}

PLAY RECAP *********************************************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0   

```

Ansible 2.9.18 Result:
```
PLAY [localhost] ***************************************************************************************

TASK [debug] *******************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "An unhandled exception occurred while templating '{{ lookup('ini', 'fubar file=test.properties type=properties' )}}'. Error was a <class 'ansible.errors.AnsibleError'>, original message: An unhandled exception occurred while running the lookup plugin 'ini'. Error was a <class 'configparser.DuplicateOptionError'>, original message: While reading from '<???>' [line  3]: option 'fubar' in section 'java_properties' already exists"}

PLAY RECAP *********************************************************************************************
localhost                  : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0   

```





### Issue Type

Feature Idea

### Component Name

ini.py

### Additional Information

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)

```


### Code of Conduct

- [x] I agree to follow the Ansible Code of Conduct
from collections import defaultdict
from ansible.errors import AnsibleLookupError, AnsibleOptionsError
from ansible.module_utils.six.moves import configparser
from ansible.module_utils._text import to_bytes, to_text, to_native
from ansible.module_utils.common._collections_compat import MutableSequence
from ansible.plugins.lookup import LookupBase
def _parse_params(term, paramvals):
    '''Safely split parameter term to preserve spaces'''
    
    valid_keys = paramvals.keys()
    params = defaultdict(lambda: '')
    
    keys = []
    thiskey = 'key'  
    for idp, phrase in enumerate(term.split()):
        
        if '=' in phrase:
            for k in valid_keys:
                if ('%s=' % k) in phrase:
                    thiskey = k
        
        if idp == 0 or not params[thiskey]:
            params[thiskey] = phrase
            keys.append(thiskey)
        else:
            
            params[thiskey] += ' ' + phrase
    
    return [params[x] for x in keys]
class LookupModule(LookupBase):