##### SUMMARY
Certain `requirements.yml` file syntax still leads to traceback.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
lib//ansible/cli/galaxy.py

##### ANSIBLE VERSION

```paste below
ansible --version
[WARNING]: You are running the development version of Ansible. You should only run Ansible from "devel" if you are modifying the Ansible engine, or trying out features under
development. This is a rapidly changing source of code and can become unstable at any point.
ansible 2.10.0.dev0
  config file = None
  configured module search path = ['/Users/alancoding/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/alancoding/Documents/repos/ansible/lib/ansible
  executable location = /Users/alancoding/.virtualenvs/awx_collection/bin/ansible
  python version = 3.6.5 (default, Apr 25 2018, 14:23:58) [GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)]
```

##### CONFIGURATION
```paste below
ansible-config dump --only-changed
[WARNING]: You are running the development version of Ansible. You should only run Ansible from "devel" if you are modifying the Ansible engine, or trying out features under
development. This is a rapidly changing source of code and can become unstable at any point.
ANSIBLE_NOCOWS(env: ANSIBLE_NOCOWS) = True
```

##### OS / ENVIRONMENT
Mac OS / N/A


##### STEPS TO REPRODUCE
Make a requirements file that has a null entry for collections

```yaml
collections:
```

now run `ansible-galaxy collection install -r requirements.yml -vvv`

##### EXPECTED RESULTS
Does nothing, exit code 0


##### ACTUAL RESULTS
traceback

```paste below
Traceback (most recent call last):
  File "/Users/alancoding/Documents/repos/ansible/bin/ansible-galaxy", line 123, in <module>
    exit_code = cli.run()
  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/cli/galaxy.py", line 456, in run
    context.CLIARGS['func']()
  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/cli/galaxy.py", line 928, in execute_install
    requirements = self._require_one_of_collections_requirements(collections, requirements_file)
  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/cli/galaxy.py", line 662, in _require_one_of_collections_requirements
    requirements = self._parse_requirements_file(requirements_file, allow_old_format=False)['collections']
  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/cli/galaxy.py", line 550, in _parse_requirements_file
    for collection_req in file_requirements.get('collections', []):
TypeError: 'NoneType' object is not iterable
```

"been modified there already." % to_native(obj_path))
        if obj_skeleton is not None:
            own_skeleton = False
            skeleton_ignore_expressions = C.GALAXY_ROLE_SKELETON_IGNORE
        else:
            own_skeleton = True
            obj_skeleton = self.galaxy.default_role_skeleton_path
            skeleton_ignore_expressions = ['^.*/.git_keep$']
        obj_skeleton = os.path.expanduser(obj_skeleton)
        skeleton_ignore_re = [re.compile(x) for x in skeleton_ignore_expressions]
        if not os.path.exists(obj_skeleton):
            raise AnsibleError("- the skeleton path '{0}' does not exist, cannot init {1}".format(
                to_native(obj_skeleton), galaxy_type)
            )
        loader = DataLoader()
        templar = Templar(loader, variables=inject_data)
        
        if not os.path.exists(b_obj_path):
            os.makedirs(b_obj_path)
        for root, dirs, files in os.walk(obj_skeleton, topdown=True):
            rel_root = os.path.relpath(root, obj_skeleton)
            rel_dirs = rel_root.split(os.sep)
            rel_root_dir = rel_dirs[0]
            if galaxy_type == 'collection':
                
                in_templates_dir = rel_root_dir in ['playbooks', 'roles'] and 'templates' in rel_dirs
            else:
                in_templates_dir = rel_root_dir == 'templates'
            dirs[:] = [d for d in dirs if not any(r.match(d) for r in skeleton_ignore_re)]
            for f in files: