<!--- Verify first that your feature was not already discussed on GitHub -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
When I read the `copy` documentation, I couldn't work out what it meant.  Unfortunately, this meant it sounded like it might be a weird sex joke.

It doesn't sound like a big problem, but in an ideal world, I think we should prefer to avoid weird sex jokes in an alias for a parameter called `force`.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
copy

##### ADDITIONAL INFORMATION
Issue search tells me "thirsty" was added as an option to the `get_url` module.  In that context, it is appropriate.  But in the context of the `copy` module, it does not make sense, because `copy` only works in the upload direction.

The first three pages of Google Search results (Ansible thirsty) show people using "thirsty" for downloads only, not uploads.  Similarly for GitHub code search (copy thirsty language:YAML).
if wanted_elements:
                    if wanted != 'list' or not isinstance(param[k], list):
                        msg = "Invalid type %s for option '%s'" % (wanted_name, param)
                        if self._options_context:
                            msg += " found in '%s'." % " -> ".join(self._options_context)
                        msg += ", elements value check is supported only with 'list' type"
                        self.fail_json(msg=msg)
                    param[k] = self._handle_elements(wanted_elements, k, param[k])
            except (TypeError, ValueError) as e:
                msg = "argument %s is of type %s" % (k, type(value))
                if self._options_context:
                    msg += " found in '%s'." % " -> ".join(self._options_context)
                msg += " and we were unable to convert to %s: %s" % (wanted_name, to_native(e))
                self.fail_json(msg=msg)
    def _set_defaults(self, pre=True, spec=None, param=None):
        if spec is None:
            spec = self.argument_spec
        if param is None:
            param = self.params
        for (k, v) in spec.items():
            default = v.get('default', None)
            if pre is True:
                
                if default is not None and k not in param:
                    param[k] = default
            else:
                
                if k not in param:
                    param[k] = default
    def _set_fallbacks(self, spec=None, param=None):