Add Model#did_destroy, #did_create and #did_update

These are private hook methods used by the adapter to get the record
to update itself once some layer of persistence has occured. Having each
record be in charge of reacting to these triggers, custom adapters are
easier to write as the record is in charge of updating its identity
maps, triggering events and otherwise updating itself in reaction to
these changes.