Display a warning when a dict key is overwritten by pyyaml Fixes #12888
Also making PlayContext a child class of the Playbook Base class, which gives it access to all of the FieldAttribute code to ensure field values are correctly typed after post_validation Fixes #11381