##### SUMMARY

A malformed list item in an included task file yields a cryptic message

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME

lib/ansible/cli/scripts/ansible_cli_stub.py

##### ANSIBLE VERSION

Confirmed as of c888035e
```
ansible 2.10.0.dev0
  config file = None
  configured module search path = ['/usr/share/ansible/plugins/modules']
  ansible python module location = /proj/ansible/ansible/venv/lib/python3.7/site-packages/ansible_base-2.10.0.dev0-py3.7.egg/ansible
  executable location = /proj/ansible/ansible/venv/bin/ansible
  python version = 3.7.7 (default, Mar 11 2020, 11:44:20) [GCC 9.2.1 20191008]
```

##### CONFIGURATION

##### OS / ENVIRONMENT

##### STEPS TO REPRODUCE

* bug.yml
```yaml
---
- oops
```
* pb.yml
```yaml
- hosts: all
  gather_facts: no
  tasks:
  - include_tasks: bug.yml
```

##### EXPECTED RESULTS

```console
$ ansible-playbook -i localhost, -c local pb.yml
ERROR! Traceback (most recent call last):
  File "/proj/ansible/ansible/lib/ansible/playbook/block.py", line 130, in _load_block
    use_handlers=self._use_handlers,
  File "/proj/ansible/ansible/lib/ansible/playbook/helpers.py", line 106, in load_list_of_tasks
    raise AnsibleAssertionError('The ds (%s) should be a dict but was a %s' % (ds, type(ds)))
ansible.errors.AnsibleAssertionError: The ds (['oops']) should be a dict but was a <class 'list'>
```
or something similar, because just _eating_ the `AnsibleParserError` makes tracking down the erroneous list item harder than necessary

##### ACTUAL RESULTS

```console
$ ansible-playbook -i localhost, -c local -vvvvvvvvv pb.yml
ansible-playbook 2.10.0.dev0
  config file = None
  configured module search path = ['/usr/share/ansible/plugins/modules']
  ansible python module location = /proj/ansible/ansible/lib/ansible
  executable location = /proj/ansible/ansible/venv/bin/ansible-playbook
  python version = 3.7.7 (default, Mar 11 2020, 11:44:20) [GCC 9.2.1 20191008]
No config file found; using defaults
setting up inventory plugins
Set default localhost to localhost
Parsed localhost, inventory source with host_list plugin
statically imported: /proj/ansible/ansible/bug.yml
ERROR! A malformed block was encountered while loading a block
```
and the same outcome when run with `ANSIBLE_DEBUG=1` which was especially surprising

```console
$ ANSIBLE_DEBUG=1 ansible-playbook -i localhost, -c local -vvvvvvvvv pb.yml
## snip
 22539 1585707905.71204: Loading BecomeModule 'sudo' from /proj/ansible/ansible/lib/ansible/plugins/become/sudo.py (found_in_cache=False, class_only=True)
 22539 1585707905.71232: Loading data from /proj/ansible/ansible/bug0.yml
 22539 1585707905.71591: in VariableManager get_vars()
 22539 1585707905.71621: done with get_vars()
 22539 1585707905.71634: Loading data from /proj/ansible/ansible/bug00.yml
statically imported: /proj/ansible/ansible/bug.yml
 22539 1585707905.71686: RUNNING CLEANUP
ERROR! A malformed block was encountered while loading a block
```
from ansible.parsing.yaml.objects import AnsibleBaseYAMLObject
        if isinstance(self.obj, AnsibleBaseYAMLObject):
            extended_error = self._get_extended_error()
            if extended_error and not self._suppress_extended_error:
                return '%s\n\n%s' % (self._message, to_native(extended_error))
        return self._message
    @message.setter
    def message(self, val):
        self._message = val
    def __str__(self):
        return self.message
    def __repr__(self):
        return self.message
    def _get_error_lines_from_file(self, file_name, line_number):
        '''
        Returns the line in the file which corresponds to the reported error
        location, as well as the line preceding it (if the error did not
        occur on the first line), to provide context to the error.
        '''
        target_line = ''
        prev_line = ''
        with open(file_name, 'r') as f:
            lines = f.readlines()
            target_line = lines[line_number]
            if line_number > 0:
                prev_line = lines[line_number - 1]
        return (target_line, prev_line)
    def _get_extended_error(self):