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.
Issue #20558: Improved implementation of error handling.
Issue #20444: Reduced code duplication.
Clean-up docstring
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@.
improve start default for relpath