##### SUMMARY
In th `gitlab_user` module the `email`, `name`, and `password` arguments are required.
That is perfectly fine when creating a new user as this information is needed.
However, these three arguments are also required when deleting a user (state==absent), even though they are not used by the module for this action.
The module fails with an error if these arguments are not passed in. You are forced to pass in blank (or dummy) values.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
gitlab_user

##### ANSIBLE VERSION
```paste below
ansible 2.8.4
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below

```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
Manjaro Linux 18.0.4

##### STEPS TO REPRODUCE
```yaml
- name: Delete user account
  gitlab_user:
    server_url: "{{ gitlab_url }}"
    api_token: "{{ token }}"
    username: "{{ username }}"
    state: absent
```

##### EXPECTED RESULTS
GitLab user should be successfully deleted. Only the `username` is required to find and delete the user.

##### ACTUAL RESULTS
```
fatal: [localhost]: FAILED! => {"changed": false, "msg": "missing required arguments: name, password, email"}
```
##### WORKAROUND
```yaml
- name: Delete user account
  gitlab_user:
    server_url: "{{ gitlab_url }}"
    api_token: "{{ token }}"
    username: "{{ username }}"
    email: ""
    name: ""
    password: ""
    state: absent
```
'''
import traceback
GITLAB_IMP_ERR = None
try:
    import gitlab
    HAS_GITLAB_PACKAGE = True
except Exception:
    GITLAB_IMP_ERR = traceback.format_exc()
    HAS_GITLAB_PACKAGE = False
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_native
from ansible.module_utils.gitlab import findGroup
class GitLabUser(object):
    def __init__(self, module, gitlab_instance):
        self._module = module
        self._gitlab = gitlab_instance
        self.userObject = None
        self.ACCESS_LEVEL = {
            'guest': gitlab.GUEST_ACCESS,
            'reporter': gitlab.REPORTER_ACCESS,
            'developer': gitlab.DEVELOPER_ACCESS,
            'master': gitlab.MAINTAINER_ACCESS,
            'maintainer': gitlab.MAINTAINER_ACCESS,
            'owner': gitlab.OWNER_ACCESS}
    '''
    @param username Username of the user
    @param options User options
    '''
    def createOrUpdateUser(self, username, options):