Fix --list-tasks and tags

When multiple tags included are included or skipped with
--list-tasks, previously playbooks with multiple plays
would return an empty task list. This commit fixed that and
duplicates the Ansible playbook class feature of reporting
unknown tags and throwing an error.