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

namepass = namepass + self.yum_base.conf.proxy_username
                    proxy_url = self.yum_base.conf.proxy
                    if self.yum_base.conf.proxy_password:
                        namepass = namepass + ":" + self.yum_base.conf.proxy_password
                elif '@' in self.yum_base.conf.proxy:
                    namepass = self.yum_base.conf.proxy.split('@')[0].split('//')[-1]
                    proxy_url = self.yum_base.conf.proxy.replace("{0}@".format(namepass), "")
                if namepass:
                    namepass = namepass + '@'
                    for item in scheme:
                        os.environ[item + "_proxy"] = re.sub(
                            r"(http://)",
                            r"\g<1>" + namepass, proxy_url
                        )
                else:
                    for item in scheme:
                        os.environ[item + "_proxy"] = self.yum_base.conf.proxy
            yield
        except yum.Errors.YumBaseError:
            raise
        finally:
            
            for item in scheme:
                if os.getenv("{0}_proxy".format(item)):
                    del os.environ["{0}_proxy".format(item)]
            if old_proxy_env[0]:
                os.environ["http_proxy"] = old_proxy_env[0]
            if old_proxy_env[1]:
                os.environ["https_proxy"] = old_proxy_env[1]
    def pkg_to_dict(self, pkgstr):