##### 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
```
self.userObject = user
        if changed:
            if self._module.check_mode:
                self._module.exit_json(changed=True, msg="Successfully created or updated the user %s" % username)
            try:
                user.save()
            except Exception as e:
                self._module.fail_json(msg="Failed to update user: %s " % to_native(e))
            return True
        else:
            return False
    '''
    @param group User object
    '''
    def getUserId(self, user):
        if user is not None:
            return user.id
        return None
    '''
    @param user User object
    @param sshkey_name Name of the ssh key
    '''
    def sshKeyExists(self, user, sshkey_name):
        keyList = map(lambda k: k.title, user.keys.list())
        return sshkey_name in keyList
    '''
    @param user User object
    @param sshkey Dict containing sshkey infos {"name": "", "file": ""}
    '''
    def addSshKeyToUser(self, user, sshkey):