Issue #10141: updated new usages of AF_CAN to be in #ifdef AF_CAN rather than #ifdef HAVE_LINUX_CAN_H to allow compilation on older Linuxes.
Merged from 3.4.
Issue #20558: Improved implementation of error handling.
Closes #20558: Improved implementation of error handling.
Issue #20444: Reduced code duplication.
Closes #20444: Merged fix from 3.4.
Clean-up docstring
merge
Fix parameter name in docs for os.makedirs and os.removedirs.

Pointed out by Colin Davis on docs@.
Add missing parenthesis.  Found by cocoatomo on docs@.
Fix spelling in enum docs.

"equivalant" was caught by Tobias Käs on docs@, "seperated" and "chartruese"
were discovered by a spell-checker.
Fix typos in Doc/faq/extending.  Found by cocoatomo on docs@.
Merge several minor doc fixes from 3.4
improve start default for relpath
merge 3.4
#20744: don't try running an external 'zip' in shutil.make_archive()

Instead we'll just use the stdlib zipfile module.  Patch by Derek Chiang
Fix issue 18931: selectors module now supports /dev/poll on Solaris.
merge heads
remove the ability of datetime.time to be considered false (closes #13936)