### 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
description: Section where to lookup the key.
      re:
        default: False
        type: boolean
        description: Flag to indicate if the key supplied is a regexp.
      encoding:
        default: utf-8
        description:  Text encoding to use.
      default:
        description: Return value if the key is not in the ini file.
        default: ''
"""
EXAMPLES = """
- debug: msg="User in integration is {{ lookup('ini', 'user', section='integration', file='users.ini') }}"
- debug: msg="User in production  is {{ lookup('ini', 'user', section='production',  file='users.ini') }}"
- debug: msg="user.name is {{ lookup('ini', 'user.name', type='properties', file='user.properties') }}"
- debug:
    msg: "{{ item }}"
  loop: "{{q('ini', '.*', section='section1', file='test.ini', re=True)}}"
"""
RETURN = """
_raw:
  description:
    - value(s) of the key(s) in the ini file
  type: list
  elements: str
"""
import os
import re
from io import StringIO