##### SUMMARY
If you pass aws_kms an existing key_id and no alias, it throws exceptions

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
lib/ansible/modules/cloud/amazon/aws_kms.py

##### ANSIBLE VERSION
```
ansible 2.8.2
  config file = /home/mchappel/.ansible.cfg
  configured module search path = [u'/home/mchappel/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Jun 11 2019, 12:19:05) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
```

##### CONFIGURATION
```
DEFAULT_CALLBACK_WHITELIST(/home/mchappel/.ansible.cfg) = [u'timer', u'profile_tasks']
DEFAULT_VAULT_IDENTITY_LIST(/home/mchappel/.ansible.cfg) = [u'original@/home/mchappel/.ansible/secrets/original', u'ssl@/home/mchappel/.ansible/secrets/ssl', u'jenkins@/home/mchappel/.ansible/secrets/jenkins']
HOST_KEY_CHECKING(/home/mchappel/.ansible.cfg) = False
RETRY_FILES_ENABLED(/home/mchappel/.ansible.cfg) = False
```

##### OS / ENVIRONMENT
RHEL7

##### STEPS TO REPRODUCE
```
     - name: Update Policy on key to match AWS Console generate policy
       aws_kms:
        key_id: '{{ new_key["keys"][0]["key_id"] }}'
         policy: "{{ lookup('template', 'console-policy.j2') | to_json }}"
       register: kms_policy_changed
```

##### EXPECTED RESULTS
Key successfully updated


##### ACTUAL RESULTS
Exception.  (There's actually a couple of places that need updating)


##### ADDITIONAL DETAILS
@willthames 

https://github.com/tremble/ansible/tree/aws_kms_keyid_only contains updated tests and a fix.  I'll submit a PR once we know what order everything's likely to get merged in.  Side effect of the change, aws_kms is substantially faster, as a result I had to more the iam_role creation in the test suite.
state=dict(default='present', choices=['present', 'absent']),
        )
    )
    module = AnsibleAWSModule(
        supports_check_mode=True,
        argument_spec=argument_spec,
        required_one_of=[['alias', 'key_id']],
    )
    result = {}
    mode = module.params['policy_mode']
    kms = module.client('kms')
    iam = module.client('iam')
    all_keys = get_kms_facts(kms, module)
    key_id = module.params.get('key_id')
    alias = module.params.get('alias')
    if alias.startswith('alias/'):
        alias = alias[6:]
    if key_id:
        filtr = ('key-id', key_id)
    elif module.params.get('alias'):
        filtr = ('alias', alias)
    candidate_keys = [key for key in all_keys if key_matches_filter(key, filtr)]
    if module.params.get('policy_grant_types') or mode == 'deny':
        module.deprecate('Managing the KMS IAM Policy via policy_mode and policy_grant_types is fragile'
                         ' and has been deprecated in favour of the policy option.', version='2.13')
        if module.params.get('policy_role_name') and not module.params.get('policy_role_arn'):
            module.params['policy_role_arn'] = get_arn_from_role_name(iam, module.params['policy_role_name'])
        if not module.params.get('policy_role_arn'):
            module.fail_json(msg='policy_role_arn or policy_role_name is required to {0}'.format(module.params['policy_mode']))