coroutine: fix for 8526, reorg. for new interface


git-svn-id: http://svn.boost.org/svn/boost/trunk@84099 b8fc166d-592f-0410-95f2-cb63ce0dd405