fix endless loops upon many2many unmarshalling
explicitly persist known and dirty instances
handle non DirtyCheckable domain instances gracefully