Check to make sure default_vars in the datastructure isn't empty

Fixes #4129
Allow includes to follow the standard format

Previously, includes had to receive variables via a special 'vars'
field. With this patch, the include syntax becomes a more natural
datastructure without special fields and is more akin to the way
role includes/dependencies work.

Tested with the following playbook:
---
- hosts: localhost
  connection: local
  tasks:
  - { include: inc1.yml, a: 1 }
  - include: inc2.yml
    b: 2
  - include: inc3.yml
    with_items:
    - x
    - y
    - z

Fixes #3481
Merge branch 'issue_4129_role_defaults_empty_yaml' into devel

Conflicts:
	lib/ansible/playbook/play.py
Added standardized includes to the CHANGELOG
fixes for PTY handling