v1meta: return NoneDeref instead of None when a reference is broken

When a reference is broken, the asset object contains a None as a value
of the attribute. The issue with this is that call sites will have to
check unresolved references explicitly, e.g. if I wanted to write:

story_name = story.Scope.Name

I would have to check the Noneness of story.Scope before dereferencing
story.Scope.Name, like this:

if story.Scope:
    story_name = story.Scope.Name
else:
    story_name = None

This patch changes that, if a reference would become None, it results in
an object that behaves like a None but call-sites can continue to dereference
attributes within that.

Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>