Fix issue with custom tornado coroutine implementation.

Previously, we were not properly returning the value. Wrapping and
proxying a generator is delicate business. Test case is also
enhanced to make sure that is the case.