allowEmpty: implement for BelongsTo, improve for HasOne

As discussed in #114.