Refactor WriteChars() and WriteBytes() into simple wrappers of a common
routine Write().
Simplification and cleanup enabled by last commit.
Trial: Implement DoWrite() as WriteBytes().
Eliminate DoWrite().  It duplicates WriteBytes().
Refactor to eliminate the DoWriteChars() layer.
Do not call updateStringProc directly.  We have TclGetString() for that.
The "channel" Tcl_ObjType is caching only.  It never needs an UpdateString routine.
It's also static to the tclIO.c file.
Simplify macro typecasting.
merge 8.5
Be sure to finalize the identity encoding.
Simplify the core output operations of channels.  Reduce duplicative and
dead code.