Replace triggers with observers

This commit removes all triggers. In fact the only triggers that were actually running and had effect on the system were the taxon_concepts ones. The most important of those was the "on create" one, which was replaced with a TaxonConceptObserver before_create method. That method essentially sets the full name and rank name, as well as copies all the ancestor ids from the parent.

When working on that I discovered a circular dependency in taxon_concepts_mview recalculation; namely, the listings part of taxon_concepts_mview depends on listing_changes_mview, which used to depend on the taxonomy part of taxon_concepts_mview. I introduced an intermediate mview (OMG) to break the dependency (that one is a TEMP table).

Some specs needed to be amended, since they expected triggers to set the taxonomic position or other calculated values.