Only add _type to IdentityMap if using inherited class

#2697 was forcing _type on all classe when pushing to identityMap. We must use the _type on the selector
only when using subclasses.
[Fixes #2916]
many builder to use selector with type when needed

[Related #2916]
Update changelog
Allow cyclic relations to be mixed.

[ fix #2883 ]
Fix rspec deprecation
Adding aliases to serialization [ #2716 ]