<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Explain the problem briefly below -->
- In the `homebrew` module, following functions ignore check_mode option.
- Even if check_mode is enabled, Homebrew and Formulae are actually updated.
  - update_homebrew
  - upgrade_all
- I'm working to create PR.

##### ISSUE TYPE
- Bug Report

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

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
$ ansible --version
ansible 2.9.1
  config file = None
  configured module search path = ['/Users/Saori_/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/Cellar/ansible/2.9.1/libexec/lib/python3.7/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.7.5 (default, Nov  1 2019, 02:16:32) [Clang 11.0.0 (clang-1100.0.33.8)]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
$ ansible-config dump --only-changed
$ 
# no changed
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
```
$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.6
BuildVersion:   18G87
```

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->
`$ ansible-playbook -C playbook.yml -vvv `

```yaml
- hosts: localhost
  tasks:
    - name: Update homebrew
      homebrew:
        update_homebrew: yes
      check_mode: true
    - name: Upgrade homebrew
      homebrew:
        upgrade_all: yes
      check_mode: true
```

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

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
It wouldn't actually upgrade.

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->

<!--- Paste verbatim command output between quotes -->
brew config(before playbook run)
```paste below
HOMEBREW_VERSION: 2.1.16
ORIGIN: https://github.com/Homebrew/brew
HEAD: 3aa7624284c43180a3f3a71aeaa9263092868e12
Last commit: 3 weeks ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 7e82bc5693da5d96d5f1ceb9e03265d3f7c5c303
Core tap last commit: 2 weeks ago
HOMEBREW_PREFIX: /usr/local
CPU: quad-core 64-bit broadwell
Homebrew Ruby: 2.6.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3/bin/ruby
Clang: 10.0 build 1001
Git: 2.24.0 => /usr/local/bin/git
Curl: 7.54.0 => /usr/bin/curl
Java: 11.0.4
macOS: 10.14.6-x86_64
CLT: 10.3.0.0.1.1562985497
Xcode: 10.3
CLT headers: 10.3.0.0.1.1562985497
```

brew config(after playbook run)
```
HOMEBREW_VERSION: 2.2.0
ORIGIN: https://github.com/Homebrew/brew
HEAD: 7d7de295dfbc5e581106e2b1f674496b5e25a773
Last commit: 28 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 808d309b0b6d22a55ea0b27f8923d264119ab3b7
Core tap last commit: 7 hours ago
HOMEBREW_PREFIX: /usr/local
CPU: quad-core 64-bit broadwell
Homebrew Ruby: 2.6.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3/bin/ruby
Clang: 10.0 build 1001
Git: 2.24.0 => /usr/local/bin/git
Curl: 7.54.0 => /usr/bin/curl
Java: 11.0.4
macOS: 10.14.6-x86_64
CLT: 10.3.0.0.1.1562985497
Xcode: 10.3
CLT headers: 10.3.0.0.1.1562985497
```

brew info Formula(ex. tflint) (before playbook run)
```
tflint: stable 0.13.1 (bottled), HEAD
Linter for Terraform files
https://github.com/wata727/tflint
/usr/local/Cellar/tflint/0.12.1 (6 files, 51.3MB) *
  Poured from bottle on 2019-11-09 at 15:10:31
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/tflint.rb
==> Dependencies
Build: go
==> Options
--HEAD
	Install HEAD version
==> Analytics
install: 1,935 (30 days), 6,475 (90 days), 9,307 (365 days)
install-on-request: 1,934 (30 days), 6,469 (90 days), 9,295 (365 days)
build-error: 0 (30 days)
```

brew info Formula(ex. tflint) (after playbook run)
```
tflint: stable 0.13.1 (bottled), HEAD
Linter for Terraform files
https://github.com/wata727/tflint
/usr/local/Cellar/tflint/0.13.1 (6 files, 51.9MB) *
  Poured from bottle on 2019-11-28 at 23:13:47
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/tflint.rb
==> Dependencies
Build: go
==> Options
--HEAD
	Install HEAD version
==> Analytics
install: 1,935 (30 days), 6,475 (90 days), 9,307 (365 days)
install-on-request: 1,934 (30 days), 6,469 (90 days), 9,295 (365 days)
build-error: 0 (30 days)
```

Playbook Log(Update)
```
TASK [Update homebrew] ************************************************************************
task path: /Users/Saori_/Works/ansible-contribute-test/test.yml:4
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: Saori_
<127.0.0.1> EXEC /bin/sh -c 'echo ~Saori_ && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /Users/Saori_/.ansible/tmp/ansible-tmp-1574949662.366273-222861329502964 `" && echo ansible-tmp-1574949662.366273-222861329502964="` echo /Users/Saori_/.ansible/tmp/ansible-tmp-1574949662.366273-222861329502964 `" ) && sleep 0'
Using module file /usr/local/Cellar/ansible/2.9.0/libexec/lib/python3.7/site-packages/ansible/modules/packaging/os/homebrew.py
<127.0.0.1> PUT /Users/Saori_/.ansible/tmp/ansible-local-44973hpyrkb_6/tmpisalekvv TO /Users/Saori_/.ansible/tmp/ansible-tmp-1574949662.366273-222861329502964/AnsiballZ_homebrew.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /Users/Saori_/.ansible/tmp/ansible-tmp-1574949662.366273-222861329502964/ /Users/Saori_/.ansible/tmp/ansible-tmp-1574949662.366273-222861329502964/AnsiballZ_homebrew.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/usr/local/Cellar/ansible/2.9.0/libexec/bin/python3.7 /Users/Saori_/.ansible/tmp/ansible-tmp-1574949662.366273-222861329502964/AnsiballZ_homebrew.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /Users/Saori_/.ansible/tmp/ansible-tmp-1574949662.366273-222861329502964/ > /dev/null 2>&1 && sleep 0'
changed: [localhost] => {
    "changed": true,
    "invocation": {
        "module_args": {
            "install_options": [],
            "name": null,
            "path": "/usr/local/bin",
            "state": "present",
            "update_homebrew": true,
            "upgrade_all": false
        }
    },
    "msg": "Homebrew updated successfully."
}
META: ran handlers
META: ran handlers
```

Playbook Log(Upgrade)
```
TASK [Upgrade homebrew] *****************************************************************************************************************
task path: /Users/Saori_/Works/ansible-contribute-test/test.yml:8
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: Saori_
<127.0.0.1> EXEC /bin/sh -c 'echo ~Saori_ && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /Users/Saori_/.ansible/tmp/ansible-tmp-1574950346.5928059-177043868421960 `" && echo ansible-tmp-1574950346.5928059-177043868421960="` echo /Users/Saori_/.ansible/tmp/ansible-tmp-1574950346.5928059-177043868421960 `" ) && sleep 0'
Using module file /usr/local/Cellar/ansible/2.9.0/libexec/lib/python3.7/site-packages/ansible/modules/packaging/os/homebrew.py
<127.0.0.1> PUT /Users/Saori_/.ansible/tmp/ansible-local-57920gqeg5sin/tmp1t0wyev0 TO /Users/Saori_/.ansible/tmp/ansible-tmp-1574950346.5928059-177043868421960/AnsiballZ_homebrew.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /Users/Saori_/.ansible/tmp/ansible-tmp-1574950346.5928059-177043868421960/ /Users/Saori_/.ansible/tmp/ansible-tmp-1574950346.5928059-177043868421960/AnsiballZ_homebrew.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/usr/local/Cellar/ansible/2.9.0/libexec/bin/python3.7 /Users/Saori_/.ansible/tmp/ansible-tmp-1574950346.5928059-177043868421960/AnsiballZ_homebrew.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /Users/Saori_/.ansible/tmp/ansible-tmp-1574950346.5928059-177043868421960/ > /dev/null 2>&1 && sleep 0'
changed: [localhost] => {
    "changed": true,
    "invocation": {
        "module_args": {
            "install_options": [],
            "name": null,
            "path": "/usr/local/bin",
            "state": "present",
            "update_homebrew": false,
            "upgrade_all": true
        }
    },
    "msg": "Homebrew upgraded."
}
META: ran handlers
META: ran handlers
```
if self.module.check_mode:
            self.changed = True
            self.message = 'Package would be linked: {0}'.format(
                self.current_package
            )
            raise HomebrewException(self.message)
        opts = (
            [self.brew_path, 'link']
            + self.install_options
            + [self.current_package]
        )
        cmd = [opt for opt in opts if opt]
        rc, out, err = self.module.run_command(cmd)
        if rc == 0:
            self.changed_count += 1
            self.changed = True
            self.message = 'Package linked: {0}'.format(self.current_package)
            return True
        else:
            self.failed = True
            self.message = 'Package could not be linked: {0}.'.format(self.current_package)
            raise HomebrewException(self.message)
    def _link_packages(self):
        for package in self.packages:
            self.current_package = package
            self._link_current_package()
        return True
    
    
    def _unlink_current_package(self):