Switch Plot to use multi-table inheritance

Finalize Plot and Tree classes
* Plot inherits from MapFeature
* Delete Plot fields moved to MapFeature
* Tree.plot remains a foreign key to Plot, but (since Plot's primary key is its foreign key to MapFeature) its values
are pointers to MapFeature rather than to Plot

Fix subtle issues in audit.py:
* get_id_sequence_name (used for pending audits, to get the next primary key for a table) -- the primary key of the Plot table is its foreign key to MapFeature, so use that.
* validate_foreign_keys_exist (used to process pending inserts) -- if we're creating a Plot we don't expect there to be MapFeature yet, so don't validate that foreign key.
* save_with_user -- when we plug in the "reserved model id" (provided by get_id_sequence_name) to an object we're saving we must set the "id" field in addition to the "pk" field (for the "Plot" case, where pk != id)

Also:
* Migrate the triggers (which update the geo rev hash when a plot changes) to use the MapFeature table instead of the Plot table
* Update a few tests