Fix for bug 3613598.
If a table has multiple triggers, either fire all of them on datanode, or fire
all of them on coordinator. If one or more triggers are not shippable to
datanode, fire all of the triggers on coordinator, else fire them on datanode.
This is required because we need to execute triggers in alphabetical order.

Also, statement triggers are now fired only on coordinator, even if the
statement is FQSed, or even if the trigger function is shippable.