Issue #21688: Give informative error message when hhc.exe cannot be found.

Initial patch by Olive Kilburn.
Issue #21688: Merge with 3.4
Issue #18039: dbm.dump.open() now always creates a new database when the
flag has the value 'n'.  Patch by Claudiu Popa.
fix issue #17552: add socket.sendfile() method allowing to send a file over a socket by using high-performance os.sendfile() on UNIX. Patch by Giampaolo Rodola'·
PyErr_NormalizeException doesn't like being called with an exception set
(issues #21677, #21310).
PyErr_NormalizeException doesn't like being called with an exception set
(issues #21677, #21310).