termios cleanup step 1: remove USE_TERMIO and USE_SGTTY conditional sections
(mechanical change, done with `unifdef`).
For termios, we never want DIRECT_BAUD; always use the symbolic constants
as prescribed by POSIX.
ifdef reduction: SUPPORTS_TTY defined if and only if USE_TERMIOS defined.
ifdef reduction - missed a couple spots (#if ...  defined(USE_TERMIO))
Remove IOSTATE facade: it's always a struct termios.
TtyGetBaud(), TtyGetSpeed(): use POSIX speed_t typedef
instead of 'unsigned long'.
TtyGetOptionProc: remove inoperative comment "The string returned by 
this function is in static storage [...]"; this is not the case
(and apparently never has been)
ifdef shuffling: TIOCMC[GS]ET ioctls are not specified by POSIX,
so we can't assume they are present just because we HAVE_TERMIOS_H.
Conversely, if they are present then the subsidiary flags
TIOCM_{DTR|RTS} are almost certainly there as well, so that
ifdeffery can be removed.

And lastly, ifdefs for TIOCSBRK/TIOCCBRK are still needed.
(Those are logically separate functions even though TIP#35
lumped them together with DTR and RTS in -ttycontrol.
POSIX provides tcsendbreak() for this purpose, but that
interface doesn't fit with the TIP#35 API.)

KNOWN DEFECT: if a hypothetical Unix system is missing TIOCMCGET
but has TIOCSBRK/TIOCCBRK, the latter function will nevertheless
be unavailable.  Accounting for this possibility does not strike
me as being worth the ifdefs.
Replace broken SC_SERIAL_PORT macro with plain AC_CHECK_HEADERS tests.
unix/configure: regenerated.
Do not use strncasecmp().  It is nonstandard and not portable.
Use Tcl_UtfNcasecmp() instead.
More ifdef shuffling: GETREADQUEUE and GETWRITEQEUE always defined,
dummy implementations return 0 if the requisite ioctls are not present.
TtyParseMode signature simplification: take single pointer to struct TtyAttrs 
instead of separate pointers to each member.
Member TtyState.savedState set in TtyInit() but never subsequently used.
This can go away...
... which means struct TtyState can be replaced with struct FileState.
Unix terminal and serial port I/O: retire obsolete termio and sgtty code,
general cleanup.  See SF [Bug 3606258] for details.
unix/configure: regenerated.
New scheme for keeping the per-process tcl_precision value in sync without
the need for mutex locks on every read.  Uses adapted ProcessGlobalValue
machinery backported from Tcl 8.5 where it's been working without reported
problems.  Thanks to Phil Brooks for reporting on tests which highlight the
thread performance problems raised by the old scheme, and to Clif Flynt for
further testing pointing the finger at tcl_precision locks as the main culprit.
merge mark
merge mark