Fix [3611974]: InitSubsystems multiple thread issue
Fix [3611974]: InitSubsystems multiple thread issue
Eliminate a lot of dead code (for Windows 95/98/ME only). 
Eliminate all usage of TclWinSetInterfaces(), which does exactly the same as TclpSetInterfaces(), but keep exported symbol and stub entry.
More use of simplifying macros.
Replace dynamic allocation with automatic storage on the call stack.
Fixed bug with optimizing with INST_START_CMD about.
TclCompileScript() should not overwrite envPtr->numSrcBytes.
The envPtr already has the right value stored in it.
TclCompileScript() should not overwrite envPtr->numSrcBytes.
The envPtr already has the right value stored in it.
Modify internal TclStubInfoType type:  use TclStubs * in stead of ClientData, so less type casts are needed in the code. 
Disadvantage: somewhat more code duplication, but it makes the code much more understandable.
Don't use TclpInetNtoa any more, use inet_ntoa in stead. Since IP6 support it's even not necessary any more (except for fake-rfc2553, but mutexes are used here already) , but it's in the internal stub table so we cannot remove it unto 9.0
Remove TclInitStubTable() function (but keep it in the "initsubsystems" branch).
Don't use deprecated Tcl_DStringTrunc any more.
Don't use deprecated Tcl_DStringTrunc any more
Make more use of the CompileTokens() macro.
Replace always true test with assertion.
rebase