Revise TclNREvalObjv so that pre-resolution of the Command by a caller
does not force suppression of exception handling.  Let those be separable
demands.  Aim is to bring TclObjInvoke*() into the fold.
merge trunk
New internal routine TclNRInvoke() - NR-enabled path through the machinery
behind invokehidden commands.
More revisions let multi-interp test case work, but at cost of panics
and segfaults.  Pushing the NRE-envelope.
More progress.  NR-enable [interp] and [$slave], completely with
invokehidden subcommand.  Test suite passes with no errors.
merge trunk
merge trunk
merge trunk
merge trunk
merge trunk
merge trunk
Testing doing away with the NRRunObjProc routine, which looks like a
useless extra bounce on the NRE trampoline.

Normal testing has no problem with it, but debug-enabled testing
triggers an assert failure.

Either it would be good to have a normal test that fails in the conditions
of the assert failure, or it would be good to discover the assert is
asserting something not actually required, and then make the purge.
Revise execution trace handling to take account of the new reality in
Tcl 8.6 that callers can pre-resolve a cmdPtr for us.  In that case
a re-resolution in the form of another command name lookup isn't the right
thing.
Push out a trial patch for more eyes to see.
[3612422]: Refer to correct part of tclvars(n) rather than page itself.
merge trunk
Don't use automatic storage to hold the invocation words of oo::define.
That practice doesn't agree with NRE execution.
Don't allocate memory until you know you're going to use it and arrange for
it to be freed.  Leak!
Tidy the code and add a test.
[8ff0cb9fe1] Make Tcl_NREvalObj() (and friends) behave as documented, by
only scheduling evaluation and not doing any of it until the caller routine
returns.  This fixes some serious errors in [coroutine] too.