##### SUMMARY
The gitlab_user module does not set sshkey when the user is newly created or has been changed already. This is due to the `changed = changed or ...` construct on line 237 in branch devel.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
`lib/ansible/modules/source_control/gitlab_user.py`

##### ANSIBLE VERSION
```
ansible 2.8.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/user/.virtualenvs/ans3.6/lib/python3.6/site-packages/ansible
  executable location = /home/user/.virtualenvs/ans3.6/bin/ansible
  python version = 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0]
```

##### CONFIGURATION
N/A

##### OS / ENVIRONMENT
N/A

##### STEPS TO REPRODUCE
Create a new gitlab user and set sshkey:
```
- name: Create gitlab user
  gitlab_user:
    server_url: "{{ gitlab_url }}"
    api_token: "{{ gitlab_token }}"
    name: test user
    username: test_user
    password: "{{ user_password }}"
    email: "{{ user_email }}"
    sshkey_name: test_user
    sshkey_file: "{{ key_content }}"
    state: present

# Note that the sshkey for test_user is not actually set now

# Run the same module again to set the sskey

- name: Actually set sshkey for gitlab user
  gitlab_user:
    server_url: "{{ gitlab_url }}"
    api_token: "{{ gitlab_token }}"
    name: test user
    username: test_user
    password: "{{ user_password }}"
    email: "{{ user_email }}"
    sshkey_name: test_user
    sshkey_file: "{{ key_content }}"
    state: present
```

##### EXPECTED RESULTS
Only having to run the module once should set all the fields correctly.

##### ACTUAL RESULTS
Running the module once does not set sshkey, if the user was not yet there or changed.
server_url = module.params['server_url']
    login_user = module.params['login_user']
    login_password = module.params['login_password']
    api_url = module.params['api_url']
    validate_certs = module.params['validate_certs']
    api_user = module.params['api_username']
    api_password = module.params['api_password']
    gitlab_url = server_url if api_url is None else api_url
    gitlab_user = login_user if api_user is None else api_user
    gitlab_password = login_password if api_password is None else api_password
    gitlab_token = module.params['api_token']
    user_name = module.params['name']
    state = module.params['state']
    user_username = module.params['username'].lower()
    user_password = module.params['password']
    user_email = module.params['email']
    user_sshkey_name = module.params['sshkey_name']
    user_sshkey_file = module.params['sshkey_file']
    group_path = module.params['group']
    access_level = module.params['access_level']
    confirm = module.params['confirm']
    user_isadmin = module.params['isadmin']
    user_external = module.params['external']
    if not HAS_GITLAB_PACKAGE:
        module.fail_json(msg=missing_required_lib("python-gitlab"), exception=GITLAB_IMP_ERR)
    try:
        gitlab_instance = gitlab.Gitlab(url=gitlab_url, ssl_verify=validate_certs, email=gitlab_user, password=gitlab_password,
                                        private_token=gitlab_token, api_version=4)
        gitlab_instance.auth()
    except (gitlab.exceptions.GitlabAuthenticationError, gitlab.exceptions.GitlabGetError) as e: