HHH-8683 EntityEntry backport on master

Hey @gunnarmorling and @sanne
I had to make a few adjustments to port it to master, can you double check it.
(new pull request on the correct repo)
> Actually I don't think it would blow up.

Why not? How is `DefaultEntityEntry#deserialize()` supposed to read another implementation?

I don't really have the answer to your questions. When / in which situation is this stuff serialized/de-serialized? Must the serialized form be persistent between application restarts? If so, then evolution indeed is an issue. You'd basically have to store the implementation (allowing to select the "right" de-serializer) and a format version (allowing the de-serializer to read back "old" versions).