Fixed SoftDeletable behavior when using inheritance

Subclasses of classes with the SoftDeletable trait were skipped in the listener because the recursive flag was not set when calling 'hasTrait'.