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

##### SUMMARY
<!--- Describe the new feature/improvement briefly below -->
Add a --cacheonly option to the ansible yum module, similar to the --downloadonly option.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
lib/ansible/modules/packaging/os/yum.py

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->
We have a group of Oracle servers that have no repository management server.  They update directly from Oracle's repositories.  Our thought is to do a "yum update --downloadonly" on all dev and prod servers.  Then we can update the dev servers first using "yum update --cacheonly" to test then updated and run the same command on the prod at a later time to make them consistent with the dev.
<!--- Paste example playbooks or commands between quotes below -->
```yaml

```

<!--- HINT: You can also paste gist.github.com links for larger files -->

cmd = self.yum_basecmd + ["remove"] + pkgs
            rc, out, err = self.module.run_command(cmd)
            res['rc'] = rc
            res['results'].append(out)
            res['msg'] = err
            if rc != 0:
                if self.autoremove and 'No such command' in out:
                    self.module.fail_json(msg='Version of YUM too old for autoremove: Requires yum 3.4.3 (RHEL/CentOS 7+)')
                else:
                    self.module.fail_json(**res)
            
            
            
            
            
            self._yum_base = None  
            for pkg in pkgs:
                if pkg.startswith('@'):
                    installed = self.is_group_env_installed(pkg)
                else:
                    installed = self.is_installed(repoq, pkg, is_pkg=True)
                if installed:
                    
                    
                    
                    res['msg'] = "Package '%s' couldn't be removed!" % pkg
                    self.module.fail_json(**res)
            res['changed'] = True
        return res
    def run_check_update(self):