All identity-map methods except .get rewritten to work with object only. Object must know its type. .update functionality is commented for a while because its functionality is not clear
IdentityMap.update method restored, however its a bit buggy. Typecasting removed because typecasting is not a part of the identity-map module. IdentityMap works with plain js objects by default, if user wants custom behavior he\she can overwrite entityId and entityType functions to use custom types, and typecast everything before passing to IdentityMap