So far, the pretty printer for std::coroutine_handle internally
dereferenced the contained frame pointer displayed the promise
as a sub-value. As noticed in https://reviews.llvm.org/D132624
by @labath, this can lead to an endless loop in lldb during printing
if the coroutine frame pointers form a cycle.
This commit breaks the cycle by exposing the promise as a pointer
type instead of a value type. The depth to which the frame variable
and the expression commands dereference those pointers can be
controlled using the --ptr-depth argument.
That looks like a useful addition!