element.py: Compute cache key also for rdep without buildable callback

The reverse dependency may not be in the build queue yet and thus, the
buildable callback may be `None`. However, it's still necessary to
update the cache key in non-strict mode.

Fixes #1452.

Fixes: 8d9bf024 ("element.py: Stop computing cache keys when...")
diff --git a/src/buildstream/element.py b/src/buildstream/element.py
index 4cd3ba7..0cfa812 100644
--- a/src/buildstream/element.py
+++ b/src/buildstream/element.py
@@ -2412,10 +2412,12 @@
                     rdep.__build_deps_uncached -= 1
                     assert not rdep.__build_deps_uncached < 0
 
-                    if rdep.__buildable_callback is not None and rdep._buildable():
+                    if rdep._buildable():
                         rdep.__update_cache_key_non_strict()
-                        rdep.__buildable_callback(rdep)
-                        rdep.__buildable_callback = None
+
+                        if rdep.__buildable_callback is not None:
+                            rdep.__buildable_callback(rdep)
+                            rdep.__buildable_callback = None
 
     # _walk_artifact_files()
     #