Backport various improvements from Tcl 8.5
Add some extra paths on Windows for fincing tclConfig.sh, for mSys and Cygwin shell.
New branch bug-3604074 with improved patch to correct fixempties() failure
to converge.
3604074 Fix regexp optimization to stop hanging on the expression
((((((((a)*)*)*)*)*)*)*)* .  Thanks to Bjørn Grathwohl for discovery.
revise test numbering for forward merging
Add test-case for Bug #2438181 (which passes in Tcl 8.4 but fails in 8.5/8.6).
Provided by Poor Yorick
36054447 Convert [namespace export -clear] interface to something less stupid.
Test suite does not demand the stupidity continue, thank goodness.
refinement
The flag TCL_LEAVE_ERR_MSG has no effect on the routine
TclGetNamespaceForQualName() so for goodness sake stop making any
special efforts to add it in when making calls.
added test
3605447 Make sure the -clear option to [namespace export] always clears,
whether or not new export patterns are specified.
Protect against multiple uses of a CompileEnv with only one initialization.
Make TclFreeCompileEnv smarter about cleanup so all callers do not have to be.
Revise TclSetByteCodeFromAny() so that when hookProc raises an error, bytecode
is not generated.  This was rumored to cause crashes.
Shift more burden of smart cleanup onto the TclFreeCompileEnv() routine.
Stop crashes when the hookProc raises an error.
Use iPtr field instead of source field to mark a CompileEnv as uninitialized.
envPtr->source == NULL can actually be valid (at least when merging forward).
Repair linked list management in Tcl_DeleteCloseHandler().
CloseCallback struct is used only locally.  Remove from tclInt.h.
struct NextChannelHandler used only locally.  Remove from tclIO.h.
structs ChannelHandler ChannelHandlerEvent GetsState CopyState used locally.
Remove from tclIO.h.
[Bug 3606139]: missing error check allows regexp to crash Tcl. Thanks to Tom Lane for providing the test-case and the patch.
Wrap test-case over multiple lines.
Convert test expression into less imposing form.