BUG in push with non-strict mode

Summary

Buildstream crashes when trying to push in non-strict mode.

Steps to reproduce

bst --no-strict push --deps all core.bst

What is the current bug behavior?

I get a lot of errors like the following:

[00:00:00][????????][ push:core.bst                      ] BUG     Push

    An unhandled exception occured:
    
    Traceback (most recent call last):
      File "/home/abderrahim/dev/buildstream/buildstream/_scheduler/jobs/job.py", line 415, in _child_action
        result = self.child_process()
      File "/home/abderrahim/dev/buildstream/buildstream/_scheduler/jobs/elementjob.py", line 94, in child_process
        return self._action_cb(self._element)
      File "/home/abderrahim/dev/buildstream/buildstream/_scheduler/queues/pushqueue.py", line 37, in process
        if not element._push():
      File "/home/abderrahim/dev/buildstream/buildstream/element.py", line 1737, in _push
        pushed = self.__artifacts.push(self, self.__get_cache_keys_for_commit())
      File "/home/abderrahim/dev/buildstream/buildstream/_artifactcache/cascache.py", line 324, in push
        refs = [self.get_artifact_fullname(element, key) for key in list(keys)]
      File "/home/abderrahim/dev/buildstream/buildstream/_artifactcache/cascache.py", line 324, in <listcomp>
        refs = [self.get_artifact_fullname(element, key) for key in list(keys)]
      File "/home/abderrahim/dev/buildstream/buildstream/_artifactcache/artifactcache.py", line 138, in get_artifact_fullname
        assert key is not None
    AssertionError