Issue #11714: Use 'with' statements to assure a Semaphore releases a
condition variable.  Original patch by Thomas Rachel.
#17729: remove the outdated Advocacy HOWTO, as suggested by the author.
#17729: remove the Advocacy HOWTO from the index.
Ensure that plistlib doesn't corrupt deeply nested datastructures

Without this changeset plistlib would write empty tags for plistlib.Data
objects in deeply nested datastructures.

Fixes #17353