### 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
except ValueError as e:
                    
                    raise AnsibleLookupError("Could not use '%s' from '%s': %s" % (param, params, to_native(e)), orig_exc=e)
                if not updated_key:
                    raise AnsibleOptionsError("No key to lookup was provided as first term with in string inline options: %s" % term)
                    
            
            
            path = self.find_file_in_search_path(variables, 'files', paramvals['file'])
            
            config = StringIO()
            
            if paramvals['type'] == "properties":
                config.write(u'[java_properties]\n')
                paramvals['section'] = 'java_properties'
            
            contents, show_data = self._loader._get_file_contents(path)
            contents = to_text(contents, errors='surrogate_or_strict', encoding=paramvals['encoding'])
            config.write(contents)
            config.seek(0, os.SEEK_SET)
            self.cp.readfp(config)
            var = self.get_value(key, paramvals['section'], paramvals['default'], paramvals['re'])
            if var is not None:
                if isinstance(var, MutableSequence):
                    for v in var:
                        ret.append(v)
                else:
                    ret.append(var)
        return ret