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