<!--- 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
exception `ERROR! Unexpected Exception, this is probably a bug: 'NoneType' object has no attribute 'keys'` if requirements.yml is empty

2.8.x works as expected.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
galaxy

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
2.9.4
```

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

<!--- Paste example playbooks or commands between quotes below -->
```yaml
# empty requirements.yml
---
```
run
```
 ansible-galaxy install -r requirements.yml -vvv
```

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

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->

ansible 2.8
```
 $ ansible-galaxy install -r requirements.yml     
ERROR! No roles found in file: requirements.yml
```

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

```
ERROR! Unexpected Exception, this is probably a bug: 'NoneType' object has no attribute 'keys'
the full traceback was:

Traceback (most recent call last):
  File "/home/rmoser/.local/share/virtualenvs/ansible-puzzle-SlJRgz1S/bin/ansible-galaxy", line 123, in <module>
    exit_code = cli.run()
  File "/home/rmoser/.local/share/virtualenvs/ansible-puzzle-SlJRgz1S/lib/python3.6/site-packages/ansible/cli/galaxy.py", line 375, in run
    context.CLIARGS['func']()
  File "/home/rmoser/.local/share/virtualenvs/ansible-puzzle-SlJRgz1S/lib/python3.6/site-packages/ansible/cli/galaxy.py", line 857, in execute_install
    roles_left = self._parse_requirements_file(role_file)['roles']
  File "/home/rmoser/.local/share/virtualenvs/ansible-puzzle-SlJRgz1S/lib/python3.6/site-packages/ansible/cli/galaxy.py", line 461, in _parse_requirements_file
    extra_keys = set(file_requirements.keys()).difference(set(['roles', 'collections']))
AttributeError: 'NoneType' object has no attribute 'keys'
```

list_parser = parser.add_parser('list', parents=parents,
                                        help='Show the name and version of each role installed in the roles_path.')
        list_parser.set_defaults(func=self.execute_list)
        list_parser.add_argument('role', help='Role', nargs='?', metavar='role')
    def add_search_options(self, parser, parents=None):
        search_parser = parser.add_parser('search', parents=parents,
                                          help='Search the Galaxy database by tags, platforms, author and multiple '
                                               'keywords.')
        search_parser.set_defaults(func=self.execute_search)
        search_parser.add_argument('--platforms', dest='platforms', help='list of OS platforms to filter by')
        search_parser.add_argument('--galaxy-tags', dest='galaxy_tags', help='list of galaxy tags to filter by')
        search_parser.add_argument('--author', dest='author', help='GitHub username')
        search_parser.add_argument('args', help='Search terms', metavar='searchterm', nargs='*')
    def add_import_options(self, parser, parents=None):
        import_parser = parser.add_parser('import', parents=parents, help='Import a role')
        import_parser.set_defaults(func=self.execute_import)
        import_parser.add_argument('--no-wait', dest='wait', action='store_false', default=True,
                                   help="Don't wait for import results.")
        import_parser.add_argument('--branch', dest='reference',
                                   help='The name of a branch to import. Defaults to the repository\'s default branch '
                                        '(usually master)')
        import_parser.add_argument('--role-name', dest='role_name',
                                   help='The name the role should have, if different than the repo name')
        import_parser.add_argument('--status', dest='check_status', action='store_true', default=False,
                                   help='Check the status of the most recent import request for given github_'
                                        'user/github_repo.')
    def add_setup_options(self, parser, parents=None):