ignore errors when trying to fetch sys.stdin.encoding (closes #17863)
merge 3.3 (#17863)
refactor traceback.py to reduce code duplication (closes #17646)

Patch by Martin Morrison.
* Fix issue 17192 for 3.2 - reapply the issue11729 patch that was undone
  in the merge fun from upstream which already had it in 3.0.13.
* Add the missing update to libffi.info.
* Fix PART of issue 17192 for 3.3 - reapply the issue11729 patch
  that was undone in the merge fun from upstream which already
  had it in 3.0.13.
* Add the missing update to libffi.info.
* Fix PART of issue 17192 for 3.4 - reapply the issue11729 patch
  that was undone in the merge fun from upstream which already
  had it in 3.0.13.
* Add the missing update to libffi.info.
* Fix remaining bits of issue 17192 for 3.3 - these changes
  were missing from a messed up merge during the libffi 3.0.13
  import.  the diffs from upstream libffi 3.0.13 are now small.
* Fix remaining bits of issue 17192 for 3.4 - these changes
  were missing from a messed up merge during the libffi 3.0.13
  import.  the diffs from upstream libffi 3.0.13 are now small.
This local change was lost during the fixing of issue17192 to update
libffi to 3.0.13.  (i'm not sure if it is needed anymore but see
issue 10309 for details which makes no mention of upstream; this
change is already in 3.3 and 3.4 but may need reapplying to 2.7
as done here)
null merge
null merge
news entry
news entry
fix the news entry, the description in 3.3 should be different
than the one merged from 3.2 to match the actual changes here.
merge
merge (no news entry needed for this fix to an earlier 3.4 blunder
that already contains the right news)
#17881: clarify documentation of plistlib.
#17881: merge with 3.3.
check local class namespace before reaching for cells (closes #17853)