Simplify wait_for_cursor with CursorNotFound exception.
MOTOR-25 Check explicitly if parent greenlet is None.

If we just do "assert gr.parent", the assert fails as intended when we're on
the main greenlet. It also fails unintentionally when the parent greenlet is
dead. For conventional uses of Motor the parent greenlet is the main greenlet,
which never dies, so the assert correctly checks that we're on a child. But
some frameworks want to run Motor from a temporary child greenlet which may
die, so we should "assert gr.parent is not None" to reliably confirm we're on a
child.