Serialization: use model to get attribute types & `auto_serializable` implies `super Serializable`

The `auto_serializable` implies `super Serializable` part is up for discussion. It cleans up the code, but the code could no more be compatible with engines that do not handle the annotation.

Next there will be a tool (and/or a phase) to generate support to deserialize generic types.