Draft fix for Bug 0b874c344d.  Includes test.
Simplify the coding of the unchain operation.
Refactoring work on the "chain" operation.
Factor out the level offsetting into a final pass.  Let the first
pass of the "chain" operation just stitch things together and count levels.
Making the optimizer pluggable by extensions; please review for committing to trunk
Making the optimizer pluggable by extensions
Big simplification of the bug fix.
merge trunk
[0b874c344d] Fix for nested coroutines ability to stitch together multiple
parts of the CmdFrame chain traversed by [info frame].
merge trunk