Add support for ReverseUnique(null=True)

When null=True, accessing a ReverseUnique that doesn't exist should raise DoesNotExist instead of returning None.

I might be missing something here if null=True controls other behavior. I did notice that it generates an inner instead of outer join in select_related. Should this behave like the reverse OneToOne field, where prefetching the reverse relationship generates an outer join but accessing it raises DoesNotExist?