RBaseFunctions - SmartPointers - Generate correct NULL pointers

An offset of zero should be treated as a NULL pointer so that the notion
of a NULL pointer can be expressed with the smart pointer wrappers.
RRel - Typo in CRUD header fixed
RRel - Crud - Make sure that home assoc and home table are strictly mutual

When a new Crud object is created and the specified home entity is not a
table but an association the table smart pointer should be NULL so that
we have a clean xor initialization.