check triggers for identifiers treated as strings

If a trigger is loaded before the objects it refers to appear in the
catalog, the identifiers will be treated as text objects and fail to
work as intended.

fixes #1858
don't bypass the trigger’s `execute` method

perhaps it didn’t have any desired functionality in the past, but now
it does
skip the test on realObject

The setters have a built-in check for `nil`.
Merge pull request #1886 from quicksilver/repairTrigger

Repair broken triggers