Make sure v2 playbook classes validate attributes

Also removing cruft code from earlier iteration on task.py and fixing
a bug where 'shell' was not removed from the task ds after munge()
cleaned things up
Merge remote-tracking branch 'upstream/devel' into devel
Added --force-read as a supported option.
Added logic to support --force-read to relevant inventory classes..
Added --force-read support to ansible and ansible-playbook.