<!--- 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 -->

if self.releasever:
                self._yum_base.preconf.releasever = self.releasever
            if self.installroot != '/':
                
                
                
                self._yum_base.preconf.root = self.installroot
                self._yum_base.conf.installroot = self.installroot
            if self.conf_file and os.path.exists(self.conf_file):
                self._yum_base.preconf.fn = self.conf_file
            if os.geteuid() != 0:
                if hasattr(self._yum_base, 'setCacheDir'):
                    self._yum_base.setCacheDir()
                else:
                    cachedir = yum.misc.getCacheDir()
                    self._yum_base.repos.setCacheDir(cachedir)
                    self._yum_base.conf.cache = 0
            if self.disable_excludes:
                self._yum_base.conf.disable_excludes = self.disable_excludes
            
            
            self.yum_base.conf
            try:
                for rid in self.disablerepo:
                    self.yum_base.repos.disableRepo(rid)
                self._enablerepos_with_error_checking()
            except Exception as e:
                self.module.fail_json(msg="Failure talking to yum: %s" % to_native(e))
        return self._yum_base
    def po_to_envra(self, po):