moved from "interface{}" to "type Identified interface { GetId() *key.Key, SetId(*key.Key) }" as basic data model type. cleaned out the getTypeAndId func. added the "type TimeStamped interface { SetUpdatedAt(), SetCreatedAt() }", and used it to timestamp those models that implement it. added AfterCreate|Update|Save|Delete as hooks both in the Context and in the model. added DelAll to delete all of a certain type of model. used it in the tests to clear out old data before each test.
changed back to interface{} instead of Identified - I must use reflect if I want to make it lightweight (without extra functions for each model type - embedded structs in GAE can not be pointers, and functions added to them (to avoid adding them to each main struct type) will thus not update the embedded struct values)).