refactored relational validation

- removed validation logic from each relational object.  It is now centralized in a RelationalObjectValidator