made gae.getTypeAndId check the tag of the Id field so that it is definitely ignored by datastore, to catch dev errors. renamed gae.newError to gae.newErrNoSuchEntity for clarity. made gaecontext.KeyLock.Id ignored by datastore. fixed typo in comment of memcache.memoizeMulti. made the logic in memcache.memoizeMulti clearer (since cached nil values will cause ErrCacheMiss, it is sane that nil values produced by the generator should cause ErrCacheMiss as well. and we will still want to allow generator functions to return non-nil values AND an ErrCacheMiss to signify NO VALUE even if the return value was a struct (but perhaps empty)). moved the utils.ReflectCopy outside the !c.InTransaction clause, so that even transactional memcache lookups will work... could be a nasty bug there!. added a bit of testing of memcache.MemoizeMulti.