Fix bug in recursive_generator<T> when building under Clang.
Fix bug in recursive_generator<T> when building under Clang.

The promise_type::get_return_object() method was returning a reference
to the promise object, expecting that reference to be passed to the
constructor of recursive_generator<T>.

However, under Clang the result of get_return_object() is assigned to
an 'auto' variable, which ends up taking a copy of the promise object
on the stack and passing that copy into the recursive_generator<T>
constructor.

Modified get_return_object() to return the already-constructed
recursive_generator<T> object.

lewissbaker/cppcoro,lewissbaker/cppcoro,lewissbaker/cppcoro,lewissbaker/cppcoro