Support for None references

I implemented `None` references, so that one can have references that will not be resolved until set to something that will be resolved. The builder has to implement the logic that decides whether a certain set of parameters creates something or not but it can now return None, leaving the `weak_and_lazy` reference empty and returning None upon request.