Support keep_alive where nurse may be None

For example keep_alive<0,1>() should work where the return value may sometimes be None. At present a "Could not allocate weak reference!" exception is thrown.
Update documentation to clarify behaviour of keep_alive when nurse is None or does not support weak references.
diff --git a/example/example-keep-alive.ref b/example/example-keep-alive.ref
index 7eb02c5..775aff4 100644
--- a/example/example-keep-alive.ref
+++ b/example/example-keep-alive.ref
@@ -22,4 +22,12 @@
 Releasing parent.
 Releasing child.
 
+Allocating parent.
+<example.Parent object at 0x10eb726c0>
+Releasing parent.
+
+Allocating parent.
+<example.Parent object at 0x10eb726c0>
+Releasing parent.
+
 Terminating..