<!--- 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
A recent change (https://github.com/ansible/ansible/pull/59387/files) broke token login for new users for whom the `~/.ansible/` directory does not already exist.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
`ansible-galaxy`

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.9.0.dev0
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/calvin/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/calvin/projects/ansible/lib/ansible
  executable location = /home/calvin/.local/share/virtualenvs/orion/bin/ansible
  python version = 3.6.8 (default, Mar 21 2019, 10:08:12) [GCC 8.3.1 20190223 (Red Hat 8.3.1-2)]

```

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

```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->


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

- Have a branch new environment on which no ansible-galaxy commands have been issued before
- Try to use `ansible-galaxy login`

<!--- Paste example playbooks or commands between quotes below -->
```yaml

```

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

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
Continued working login and token saving, to the new token location at `~/.ansible/galaxy_token`

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

<!--- Paste verbatim command output between quotes -->
```paste below
                               config file = None
                               configured module search path = ['/home/jenkins/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
                               ansible python module location = /var/lib/jenkins/workspace/orion_galaxy_dev/.tox/devel/lib/python3.6/site-packages/ansible
                               executable location = /var/lib/jenkins/workspace/orion_galaxy_dev/.tox/devel/bin/ansible-galaxy
                               python version = 3.6.8 (default, Jan 14 2019, 11:02:34) [GCC 8.0.1 20180414 (experimental) [trunk revision 259383]]
                             No config file found; using defaults
                             the full traceback was:
                             

                             Traceback (most recent call last):
                               File "/var/lib/jenkins/workspace/orion_galaxy_dev/.tox/devel/bin/ansible-galaxy", line 111, in <module>
                                 exit_code = cli.run()
                               File "/var/lib/jenkins/workspace/orion_galaxy_dev/.tox/devel/lib/python3.6/site-packages/ansible/cli/galaxy.py", line 298, in run
                                 context.CLIARGS['func']()
                               File "/var/lib/jenkins/workspace/orion_galaxy_dev/.tox/devel/lib/python3.6/site-packages/ansible/cli/galaxy.py", line 921, in execute_login
                                 token = GalaxyToken()
                               File "/var/lib/jenkins/workspace/orion_galaxy_dev/.tox/devel/lib/python3.6/site-packages/ansible/galaxy/token.py", line 41, in __init__
                                 self.config = yaml.safe_load(self.__open_config_for_read())
                               File "/var/lib/jenkins/workspace/orion_galaxy_dev/.tox/devel/lib/python3.6/site-packages/ansible/galaxy/token.py", line 51, in __open_config_for_read
                                 f = open(self.b_file, 'w')
                             FileNotFoundError: [Errno 2] No such file or directory: b'/home/jenkins/.ansible/galaxy_token'
```

except AnsibleParserError as e:
        display.error(to_text(e), wrap_text=False)
        exit_code = 4
    except AnsibleError as e:
        display.error(to_text(e), wrap_text=False)
        exit_code = 1
    except KeyboardInterrupt:
        display.error("User interrupted execution")
        exit_code = 99
    except Exception as e:
        if C.DEFAULT_DEBUG:
            
            
            raise
        have_cli_options = bool(context.CLIARGS)
        display.error("Unexpected Exception, this is probably a bug: %s" % to_text(e), wrap_text=False)
        if not have_cli_options or have_cli_options and context.CLIARGS['verbosity'] > 2:
            log_only = False
            if hasattr(e, 'orig_exc'):
                display.vvv('\nexception type: %s' % to_text(type(e.orig_exc)))
                why = to_text(e.orig_exc)
                if to_text(e) != why:
                    display.vvv('\noriginal msg: %s' % why)
        else:
            display.display("to see the full traceback, use -vvv")
            log_only = True
        display.display(u"the full traceback was:\n\n%s" % to_text(traceback.format_exc()), log_only=log_only)
        exit_code = 250
    sys.exit(exit_code)